<?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.7.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-ar4si-09" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.0 -->
  <front>
    <title abbrev="Attestation Results">Attestation Results for Secure Interactions</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ar4si-09"/>
    <author initials="E." surname="Voit" fullname="Eric Voit">
      <organization abbrev="Cisco">Cisco Systems</organization>
      <address>
        <email>evoit@cisco.com</email>
      </address>
    </author>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization abbrev="Fraunhofer SIT">Fraunhofer SIT</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <author initials="T." surname="Hardjono" fullname="Thomas Hardjono">
      <organization>MIT</organization>
      <address>
        <email>hardjono@mit.edu</email>
      </address>
    </author>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Linaro</organization>
      <address>
        <email>Thomas.Fossati@linaro.org</email>
      </address>
    </author>
    <author initials="V." surname="Scarlata" fullname="Vincent Scarlata">
      <organization>Intel</organization>
      <address>
        <email>vincent.r.scarlata@intel.com</email>
      </address>
    </author>
    <date year="2025" month="August" day="15"/>
    <area>Security</area>
    <workgroup>RATS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 96?>

<t>This document defines reusable Attestation Result information elements.
When these elements are offered to Relying Parties as Evidence, different aspects of Attester trustworthiness can be evaluated.
Additionally, where the Relying Party is interfacing with a heterogeneous mix of Attesting Environment and Verifier types, consistent policies can be applied to subsequent information exchange between each Attester and the Relying Party.</t>
      <t>This document also defines two serialisations of the proposed information model, utilising CBOR and JSON.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/ietf-rats-wg/draft-ietf-rats-ar4si"/>.</t>
    </note>
  </front>
  <middle>
    <?line 104?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The first paragraph of the May 2021 US Presidential Executive Order on Improving the Nation's Cybersecurity <xref target="US-Executive-Order"/> ends with the statement "the trust we place in our digital infrastructure should be proportional to how trustworthy and transparent that infrastructure is."
Later this order explores aspects of trustworthiness such as an auditable trust relationship, which it defines as an "agreed-upon relationship between two or more system elements that is governed by criteria for secure interaction, behavior, and outcomes."</t>
      <t>The Remote ATtestation procedureS (RATS) architecture <xref target="RFC9334"/> provides a useful context for programmatically establishing and maintaining such auditable trust relationships.
Specifically, the architecture defines conceptual messages conveyed between architectural subsystems to support trustworthiness appraisal.
The RATS conceptual message used to convey evidence of trustworthiness is the Attestation Results.
The Attestation Results includes Verifier generated appraisals of an Attester including such information as the identity of the Attester, the security mechanisms employed on this Attester, and the Attester's current state of trustworthiness.</t>
      <t>Generated Attestation Results are ultimately conveyed to one or more Relying Parties.
Reception of an Attestation Result enables a Relying Party to determine what action to take with regards to an Attester.
Frequently, this action will be to choose whether to allow the Attester to securely interact with the Relying Party over some connection between the two.</t>
      <t>When determining whether to allow secure interactions with an Attester, a Relying Party is challenged with a number of difficult problems which it must be able to handle successfully.
These problems include:</t>
      <ul spacing="normal">
        <li>
          <t>What Attestation Results (AR) might a Relying Party be willing to trust from a specific Verifier?</t>
        </li>
        <li>
          <t>What information does a Relying Party need before allowing interactions or choosing policies to apply to a connection?</t>
        </li>
        <li>
          <t>What are the operating/environmental realities of the Attesting Environment where a Relying Party should only be able to associate a certain confidence regarding Attestation Results out of the Verifier?  (In other words, different types of Trusted Execution Environments (TEE) need not be treated as equivalent.)</t>
        </li>
        <li>
          <t>How to make direct comparisons where there is a heterogeneous mix of Attesting Environments and Verifier types.</t>
        </li>
      </ul>
      <t>To address these problems, it is important that specific Attestation Result information elements are framed independently of Attesting Environment specific constraints.
If they are not, a Relying Party would be forced to adapt to the syntax and semantics of many vendor specific environments.
This is not a reasonable ask as there can be many types of Attesters interacting with or connecting to a Relying Party.</t>
      <t>The business need therefore is for common Attestation Result information element definitions.
With these definitions, consistent interaction or connectivity decisions can be made by a Relying Party where there is a heterogenous mix of Attesting Environment types and Verifier types.</t>
      <t>This document defines information elements for Attestation Results in a way which normalizes the trustworthiness assertions that can be made from a diverse set of Attesters.</t>
      <section anchor="requirements-notation">
        <name>Requirements Notation</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
        </t>
      </section>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The following terms are imported from <xref target="RFC9334"/>:
Appraisal Policy for Attestation Results, Attester, Attesting Environment, Claims, Evidence, Relying Party, Target Environment and Verifier.</t>
        <t><xref target="RFC9334"/> also describes topological patterns that illustrate the need for interoperable conceptual messages.
The two patterns called "background-check model" and "passport model" are imported from the RATS architecture and used in this document as a reference to the architectural concepts:
Background-Check Model and Passport Model.</t>
        <t>Newly defined terms for this document:</t>
        <dl>
          <dt>AR-augmented Evidence:</dt>
          <dd>
            <t>a bundle of Evidence which includes at least the following:
</t>
            <ol spacing="normal" type="1"><li>
                <t>Verifier signed Attestation Results.
These Attestation Results must include Identity Evidence for the Attester, a Trustworthiness Vector describing a Verifier's most recent appraisal of an Attester, and some Verifier Proof-of-Freshness (PoF).</t>
              </li>
              <li>
                <t>A Relying Party PoF which is bound to the Attestation Results of (1) by the Attester's Attesting Environment signature.</t>
              </li>
              <li>
                <t>Sufficient information to determine the elapsed interval between the Verifier PoF and Relying Party PoF.</t>
              </li>
            </ol>
          </dd>
          <dt>Identity Evidence:</dt>
          <dd>
            <t>Evidence which unambiguously identifies an identity.
Identity Evidence could take different forms, such as a certificate, or a signature which can be appraised to have only been generated by a specific private/public key pair.</t>
          </dd>
          <dt>Trustworthiness Claim:</dt>
          <dd>
            <t>a specific quanta of trustworthiness which can be assigned by a Verifier based on its appraisal policy.</t>
          </dd>
          <dt>Trustworthiness Tier:</dt>
          <dd>
            <t>a categorization of the levels of trustworthiness which may be assigned by a Verifier to a specific Trustworthiness Claim.
These enumerated categories are: Affirming, Warning, Contraindicated, and None.</t>
          </dd>
          <dt>Trustworthiness Vector:</dt>
          <dd>
            <t>a set of zero to many Trustworthiness Claims assigned during a single appraisal procedure by a Verifier using Evidence generated by an Attester.
The vector is included within Attestation Results.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="attestation-results-for-secure-interactions">
      <name>Attestation Results for Secure Interactions</name>
      <t>A Verifier generates the Attestation Results used by a Relying Party.
When a Relying Party needs to determine whether to permit communications with an Attester, these Attestation Results must contain a specific set of information elements.
This section defines those information elements, and in some cases encodings for information elements.</t>
      <section anchor="information-driving-a-relying-party-action">
        <name>Information driving a Relying Party Action</name>
        <t>When the action is a communication establishment attempt with an Attester, there is only a limited set of actions which a Relying Party might take.
These actions include:</t>
        <ul spacing="normal">
          <li>
            <t>Allow or deny information exchange with the Attester.
When there is a deny, reasons should be returned to the Attester.</t>
          </li>
          <li>
            <t>Establish a transport connection between an Attester and a specific context within a Relying Party (e.g., a TEE, or Virtual Routing Function (VRF).)</t>
          </li>
          <li>
            <t>Apply policies on this connection (e.g., rate limits).</t>
          </li>
        </ul>
        <t>There are three categories of information which must be conveyed to the Relying Party (which also is integrated with a Verifier) before it determines which of these actions to take.</t>
        <ol spacing="normal" type="1"><li>
            <t>Non-repudiable Identity Evidence – Evidence which undoubtably identifies one or more entities involved with a communication.</t>
          </li>
          <li>
            <t>Trustworthiness Claims – Specifics a Verifier asserts with regards to its trustworthiness findings about an Attester.</t>
          </li>
          <li>
            <t>Claim Freshness – Establishes the time of last update (or refresh) of Trustworthiness Claims.</t>
          </li>
        </ol>
        <t>The following sections detail requirements for these three categories.</t>
      </section>
      <section anchor="identity-section">
        <name>Non-repudiable Identity</name>
        <t>Identity Evidence must be conveyed during the establishment of any trust-based relationship.
Specific use cases will define the minimum types of identities required by a particular Relying Party as it evaluates Attestation Results, and perhaps additional associated Evidence.
At a bare minimum, a Relying Party MUST start with the ability to verify the identity of a Verifier it chooses to trust.
Attester identities may then be acquired through signed or encrypted communications with the Verifier identity and/or the pre-provisioning Attester public keys in the Attester.</t>
        <t>During the Remote Attestation process, the Verifier's identity must be established with a Relying Party, often via a Verifier signature across recent Attestation Results.
This Verifier identity could only have come from a key pair maintained by a trusted developer or operator of the Verifier.</t>
        <t>Additionally, each set of Attestation Results must be provably and non-reputably bound to the identity of the original Attesting Environment which was evaluated by the Verifier.
This is accomplished via satisfying two requirements.
First the Verifier signed Attestation Results MUST include sufficient Identity Evidence to ensure that this Attesting Environment signature refers to the same Attesting Environment appraised by the Verifier.
Second, where the passport model is used as a subsystem, an Attesting Environment signature which spans the Verifier signature MUST also be included.
As the Verifier signature already spans the Attester Identity as well as the Attestation Results, this restricts the viability of spoofing attacks.</t>
        <t>In a subset of use cases, these two pieces of Identity Evidence may be sufficient for a Relying Party to successfully meet the criteria for its Appraisal Policy for Attestation Results.
If the use case is a connection request, a Relying Party may simply then establish a transport session with an Attester after a successful appraisal.
However an Appraisal Policy for Attestation Results will often be more nuanced, and the Relying Party may need additional information.
Some Identity Evidence related policy questions which the Relying Party may consider include:</t>
        <ul spacing="normal">
          <li>
            <t>Does the Relying Party only trust this Verifier to make Trustworthiness Claims on behalf a specific type of Attesting Environment?  Might a mix of Verifiers be necessary to cover all mandatory Trustworthiness Claims?</t>
          </li>
          <li>
            <t>Does the Relying Party only accept connections from a verified-authentic software build from a specific software developer?</t>
          </li>
          <li>
            <t>Does the Relying Party only accept connections from specific preconfigured list of Attesters?</t>
          </li>
        </ul>
        <t>For any of these more nuanced appraisals, additional Identity Evidence or other policy related information must be conveyed or pre-provisioned during the formation of a trust context between the Relying Party, the Attester, the Attester's Attesting Environment, and the Verifier.</t>
        <section anchor="attester-and-attesting-environment">
          <name>Attester and Attesting Environment</name>
          <t>Per <xref target="RFC9334"/> Figure 2, an Attester and a corresponding Attesting Environment might not share common code or even hardware boundaries.
Consequently, an Attester implementation needs to ensure that any Evidence which originates from outside the Attesting Environment MUST have been collected and delivered securely before any Attesting Environment signing may occur.
After the Verifier performs its appraisal, it will include sufficient information in the Attestation Results to enable a Relying Party to have confidence that the Attester's trustworthiness is represented via Trustworthiness Claims signed by the appropriate Attesting Environment.</t>
          <t>This document recognizes three general categories of Attesters.</t>
          <ol spacing="normal" type="1"><li>
              <t>HSM-based: A Hardware Security Module (HSM) based cryptoprocessor which hashes one or more streams of security measurements from an Attester within the Attesting Environment. Maintenance of this hash enables detection of an Attester which is not reporting the exact set of security measurements (such as log entries) taken within the Attesting Environment. An example of a HSM is a TPM2.0 <xref target="TPM2.0"/>.</t>
            </li>
            <li>
              <t>Process-based: An individual process which has its runtime memory encrypted by an Attesting Environment in a way that no other processes can read and decrypt that memory (e.g., <xref target="SGX"/> or <xref target="RFC9783"/>.)</t>
            </li>
            <li>
              <t>VM-based: An entire Guest VM (or a set of containers within a host) have been encrypted as a walled-garden unit by an Attesting Environment.  The result is that the host operating system cannot read and decrypt what is executing within that VM (e.g., <xref target="SEV-SNP"/>, <xref target="TDX"/> or <xref target="ARM-CCA"/>.)</t>
            </li>
          </ol>
          <t>Each of these categories of Attesters above will be capable of generating Evidence which is protected using private keys / certificates which are not accessible outside of the corresponding Attesting Environment.
The owner of these secrets is the owner of the identity which is bound within the Attesting Environment.
Effectively this means that for any Attester identity, there will exist a chain of trust ultimately bound to a hardware-based root of trust in the Attesting Environment.
It is upon this root of trust that unique, non-repudiable Attester identities may be founded.</t>
          <t>There are several types of Attester identities defined in this document.  This list is extensible:</t>
          <ul spacing="normal">
            <li>
              <t>chip-vendor: the vendor of the hardware chip used for the Attesting Environment (e.g., a primary Endorsement Key from a TPM)</t>
            </li>
            <li>
              <t>chip-hardware: specific hardware with specific firmware from an 'chip-vendor'</t>
            </li>
            <li>
              <t>target-environment: a unique instance of a software build running in an Attester (e.g., MRENCLAVE <xref target="SGX"/>, an Identity Block <xref target="SEV-SNP"/>, a Realm Initial Measurement (RIM) <xref target="ARM-CCA"/>, or a hash which represents a set of software loaded since boot (e.g., TPM based integrity verification.))</t>
            </li>
            <li>
              <t>target-developer: the organizational unit responsible for a particular 'target-environment' (e.g., MRSIGNER <xref target="SGX"/>)</t>
            </li>
            <li>
              <t>instance: a unique instantiated instance of an Attesting Environment running on 'chip-hardware' (e.g., an LDevID <xref target="IEEE802.1AR"/>, an Instance ID <xref target="RFC9783"/> <xref target="ARM-CCA"/>)</t>
            </li>
          </ul>
          <t>Based on the category of the Attesting Environment, different types of identities might be exposed by an Attester.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Attester Identity type</th>
                <th align="left">Process-based</th>
                <th align="left">VM-based</th>
                <th align="left">HSM-based</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">chip-vendor</td>
                <td align="left">Mandatory</td>
                <td align="left">Mandatory</td>
                <td align="left">Mandatory</td>
              </tr>
              <tr>
                <td align="left">chip-hardware</td>
                <td align="left">Mandatory</td>
                <td align="left">Mandatory</td>
                <td align="left">Mandatory</td>
              </tr>
              <tr>
                <td align="left">target-environment</td>
                <td align="left">Mandatory</td>
                <td align="left">Mandatory</td>
                <td align="left">Optional</td>
              </tr>
              <tr>
                <td align="left">target-developer</td>
                <td align="left">Mandatory</td>
                <td align="left">Optional</td>
                <td align="left">Optional</td>
              </tr>
              <tr>
                <td align="left">instance</td>
                <td align="left">Optional</td>
                <td align="left">Optional</td>
                <td align="left">Optional</td>
              </tr>
            </tbody>
          </table>
          <t>It is expected that drafts subsequent to this specification will provide the definitions and value domains for specific identities, each of which falling within the Attester identity types listed above.
In some cases the actual unique identities might be encoded as complex structures.
An example complex structure might be a 'target-environment' encoded as a Software Bill of Materials (SBOM).</t>
          <t>With the identity definitions and value domains, a Relying Party will have sufficient information to ensure that the Attester identities and Trustworthiness Claims asserted are actually capable of being supported by the underlying type of Attesting Environment.
Consequently, the Relying Party SHOULD require Identity Evidence which indicates of the type of Attesting Environment when it considers its Appraisal Policy for Attestation Results.</t>
        </section>
        <section anchor="sec-verifier">
          <name>Verifier</name>
          <t>For the Verifier identity, it is critical for a Relying Party to review the certificate and chain of trust for that Verifier.
Additionally, the Relying Party must have confidence that the Trustworthiness Claims being relied upon from the Verifier considered the chain of trust for the Attesting Environment.</t>
          <t>There are two categorizations of Verifier identities defined in this document:</t>
          <ul spacing="normal">
            <li>
              <t>verifier build: a unique instance of a software build running as a Verifier.</t>
            </li>
            <li>
              <t>verifier developer: the organizational unit responsible for a particular 'verifier build'.</t>
            </li>
          </ul>
          <t>Within each category, communicating the identity can be accomplished via a variety of objects and encodings.</t>
        </section>
        <section anchor="communicating-identity">
          <name>Communicating Identity</name>
          <t>Any of the above identities used by the Appraisal Policy for Attestation Results needed to be pre-established by the Relying Party before, or provided during, the exchange of Attestation Results.
When provided during this exchange, the identity may be communicated either implicitly or explicitly.</t>
          <t>An example of explicit communication would be to include the following Identity Evidence directly within the Attestation Results: a unique identifier for an Attesting Environment, the name of a key which can be provably associated with that unique identifier, and the set of Attestation Results which are signed using that key.
As these Attestation Results are signed by the Verifier, it is the Verifier which is explicitly asserting the credentials it believes are trustworthy.</t>
          <t>An example of implicit communication would be to include Identity Evidence in the form of a signature which has been placed over the Attestation Results asserted by a Verifier.
It would be then up to the Relying Party's Appraisal Policy for Attestation Results to extract this signature and confirm that it only could have been generated by an Attesting Environment having access to a specific private key.
This implicit identity communication is only viable if the Attesting Environment's public key is already known by the Relying Party.</t>
          <t>One final step in communicating identity is proving the freshness of the Attestation Results to the degree needed by the Relying Party.
A typical way to accomplish this is to include an element of freshness be embedded within a signed portion of the Attestation Results.
This element of freshness reduces the identity spoofing risks from a replay attack.
For more on this, see <xref target="freshness-section"/>.</t>
        </section>
      </section>
      <section anchor="vector-section">
        <name>Trustworthiness Claims</name>
        <section anchor="design-principles">
          <name>Design Principles</name>
          <t>Trust is not absolute.
Trust is a belief in some aspect about an entity (in this case an Attester), and that this aspect is something which can be depended upon (in this case by a Relying Party.)
Within the context of Remote Attestation, believability of this aspect is facilitated by a Verifier.
This facilitation depends on the Verifier's ability to parse detailed Evidence from an Attester and then to assert conclusions about this aspect in a way interpretable by a Relying Party.</t>
          <t>Specific aspects for which a Verifier will assert trustworthiness are defined in this section.
These are known as Trustworthiness Claims.
These claims have been designed to enable a common understanding between a broad array of Attesters, Verifiers, and Relying Parties.
The following set of design principles have been applied in the Trustworthiness Claim definitions:</t>
          <ol spacing="normal" type="1"><li>
              <t>Expose a small number of Trustworthiness Claims.  </t>
              <t>
Reason: a plethora of similar Trustworthiness Claims will result in divergent choices made on which to support between different Verifiers.  This would place a lot of complexity in the Relying Party as it would be up to the Relying Party (and its policy language) to enable normalization across rich but incompatible Verifier object definitions.</t>
            </li>
            <li>
              <t>Each Trustworthiness Claim enumerates only the specific states that could viably result in a different outcome after the Policy for Attestation Results has been applied.  </t>
              <t>
Reason: by explicitly disallowing the standardization of enumerated states which cannot easily be connected to a use case, we avoid forcing implementers from making incompatible guesses on what these states might mean.</t>
            </li>
            <li>
              <t>Verifier and RP developers need explicit definitions of each state in order to accomplish the goals of (1) and (2).  </t>
              <t>
Reason: without such guidance, the Verifier will append plenty of raw supporting info.  This relieves the Verifier of making the hard decisions.  Of course, this raw info will be mostly non-interpretable and therefore non-actionable by the Relying Party.</t>
            </li>
            <li>
              <t>Support standards and non-standard extensibility for (1) and (2).  </t>
              <t>
Reason: standard types of Verifier generated Trustworthiness Claims should be vetted by the full RATS working group, rather than being maintained in a repository which doesn't follow the RFC process.  This will keep a tight lid on extensions which must be considered by the Relying Party's policy language.  Because this process takes time, non-standard extensions will be needed for implementation speed and flexibility.</t>
            </li>
          </ol>
          <t>These design principles are important to keep the number of Verifier generated claims low, and to retain the complexity in the Verifier rather than the Relying Party.</t>
        </section>
        <section anchor="sec-enum-encoding">
          <name>Enumeration Encoding</name>
          <t>Per design principle (2), each Trustworthiness Claim will only expose specific encoded values.
To simplify the processing of these enumerations by the Relying Party, the enumeration will be encoded as a single signed 8 bit integer.  These value assignments for this integer will be in four Trustworthiness Tiers which follow these guidelines:</t>
          <t>None: The Verifier makes no assertions regarding this aspect of trustworthiness.</t>
          <ul spacing="normal">
            <li>
              <t>Value 0: The Evidence received is insufficient to make a conclusion. Note: this should always be always treated equivalently by the Relying Party as no claim being made. I.e., the RP's Appraisal Policy for Attestation Results SHOULD NOT make any distinction between a Trustworthiness Claim with enumeration '0', and no Trustworthiness Claim being provided.</t>
            </li>
            <li>
              <t>Value 1: The Evidence received contains unknown elements which the Verifier is unable to evaluate. An example might be that the wrong type of Evidence has been delivered.  Another  case is that of Evidence coming from a composite Attester: a Verifier may understand only part of it and leave as "unknown" the Trustworthiness claims related to features it can't appraise.</t>
            </li>
            <li>
              <t>Value -1: A verifier malfunction occurred during the Verifier's appraisal processing.</t>
            </li>
          </ul>
          <t>Affirming: The Verifier affirms the Attester support for this aspect of trustworthiness.</t>
          <ul spacing="normal">
            <li>
              <t>Values 2 to 31: A standards enumerated reason for affirming.</t>
            </li>
            <li>
              <t>Values -2 to -32: A non-standard reason for affirming.</t>
            </li>
          </ul>
          <t>Warning: The Verifier warns about this aspect of trustworthiness.</t>
          <ul spacing="normal">
            <li>
              <t>Values 32 to 95: A standards enumerated reason for the warning.</t>
            </li>
            <li>
              <t>Values -33 to -96: A non-standard reason for the warning.</t>
            </li>
          </ul>
          <t>Contraindicated: The Verifier asserts the Attester is explicitly untrustworthy in regard to this aspect.</t>
          <ul spacing="normal">
            <li>
              <t>Values 96 to 127: A standards enumerated reason for the contraindication.</t>
            </li>
            <li>
              <t>Values -97 to -128: A non-standard reason for the contraindication.</t>
            </li>
          </ul>
          <t>This enumerated encoding listed above will simplify the Appraisal Policy for Attestation Results.
Such a policies may be as simple as saying that a specific Verifier has recently asserted Trustworthiness Claims, all of which are Affirming.</t>
        </section>
        <section anchor="sec-assign-tc">
          <name>Assigning a Trustworthiness Claim value</name>
          <t>In order to simplify design, only a single encoded value is asserted by a Verifier for any Trustworthiness Claim within a using the following process.</t>
          <ol spacing="normal" type="1"><li>
              <t>If applicable, a Verifier MUST assign a standardized value from the Contraindicated tier.</t>
            </li>
            <li>
              <t>Else if applicable, a Verifier MUST assign a non-standardized value from the Contraindicated tier.</t>
            </li>
            <li>
              <t>Else if applicable, a Verifier MUST assign a standardized value from the Warning tier.</t>
            </li>
            <li>
              <t>Else if applicable, a Verifier MUST assign a non-standardized value from the Warning tier.</t>
            </li>
            <li>
              <t>Else if applicable, a Verifier MUST assign a standardized value from the Affirming tier.</t>
            </li>
            <li>
              <t>Else if applicable, a Verifier MUST assign a non-standardized value from the Affirming tier.</t>
            </li>
            <li>
              <t>Else a Verifier MAY assign a 0 or -1.</t>
            </li>
          </ol>
        </section>
        <section anchor="sec-specific-claims">
          <name>Specific Claims</name>
          <t>Following are the Trustworthiness Claims and their supported enumerations which may be asserted by a Verifier:</t>
          <dl>
            <dt>configuration:</dt>
            <dd>
              <t>A Verifier has appraised an Attester's configuration, and is able to make conclusions regarding the exposure of known vulnerabilities
</t>
              <dl>
                <dt>0:</dt>
                <dd>
                  <t>No assertion</t>
                </dd>
                <dt>1:</dt>
                <dd>
                  <t>Evidence contains unknown elements which inhibit Verifer evaluation.</t>
                </dd>
                <dt>-1:</dt>
                <dd>
                  <t>Verifier malfunction</t>
                </dd>
                <dt>2:</dt>
                <dd>
                  <t>The configuration is a known and approved config.</t>
                </dd>
                <dt>3:</dt>
                <dd>
                  <t>The configuration includes or exposes no known vulnerabilities.</t>
                </dd>
                <dt>32:</dt>
                <dd>
                  <t>The configuration includes or exposes known vulnerabilities.</t>
                </dd>
                <dt>36:</dt>
                <dd>
                  <t>Elements of the configuration relevant to security are unavailable to the Verifier.</t>
                </dd>
                <dt>96:</dt>
                <dd>
                  <t>The configuration is unsupportable as it exposes unacceptable security vulnerabilities.</t>
                </dd>
                <dt>99:</dt>
                <dd>
                  <t>Cryptographic validation of the Evidence has failed.</t>
                </dd>
              </dl>
            </dd>
            <dt>executables:</dt>
            <dd>
              <t>A Verifier has appraised and evaluated relevant runtime files, scripts, and/or other objects which have been loaded into the Target environment's memory.
</t>
              <dl>
                <dt>0:</dt>
                <dd>
                  <t>No assertion</t>
                </dd>
                <dt>1:</dt>
                <dd>
                  <t>Evidence contains unknown elements which inhibit Verifer evaluation.</t>
                </dd>
                <dt>-1:</dt>
                <dd>
                  <t>Verifier malfunction</t>
                </dd>
                <dt>2:</dt>
                <dd>
                  <t>Only a recognized genuine set of approved executables, scripts, files, and/or objects have been loaded during and after the boot process.</t>
                </dd>
                <dt>3:</dt>
                <dd>
                  <t>Only a recognized genuine set of approved executables have been loaded during the boot process.</t>
                </dd>
                <dt>32:</dt>
                <dd>
                  <t>Only a recognized genuine set of executables, scripts, files, and/or objects have been loaded.  However the Verifier cannot vouch for a subset of these due to known bugs or other known vulnerabilities.</t>
                </dd>
                <dt>33:</dt>
                <dd>
                  <t>Runtime memory includes executables, scripts, files, and/or objects which are not recognized.</t>
                </dd>
                <dt>96:</dt>
                <dd>
                  <t>Runtime memory includes executables, scripts, files, and/or object which are contraindicated.</t>
                </dd>
                <dt>99:</dt>
                <dd>
                  <t>Cryptographic validation of the Evidence has failed.</t>
                </dd>
              </dl>
            </dd>
            <dt>file-system:</dt>
            <dd>
              <t>A Verifier has evaluated a specific set of directories within the Attester's file system.  (Note: the Verifier may or may not indicate what these directory and expected files are via an unspecified management interface.)
</t>
              <dl>
                <dt>0:</dt>
                <dd>
                  <t>No assertion</t>
                </dd>
                <dt>1:</dt>
                <dd>
                  <t>Evidence contains unknown elements which inhibit Verifer evaluation.</t>
                </dd>
                <dt>-1:</dt>
                <dd>
                  <t>Verifier malfunction</t>
                </dd>
                <dt>2:</dt>
                <dd>
                  <t>Only a recognized set of approved files are found.</t>
                </dd>
                <dt>32:</dt>
                <dd>
                  <t>The file system includes unrecognized executables, scripts, or files.</t>
                </dd>
                <dt>96:</dt>
                <dd>
                  <t>The file system includes contraindicated executables, scripts, or files.</t>
                </dd>
                <dt>99:</dt>
                <dd>
                  <t>Cryptographic validation of the Evidence has failed.</t>
                </dd>
              </dl>
            </dd>
            <dt>hardware:</dt>
            <dd>
              <t>A Verifier has appraised any Attester hardware and firmware which are able to expose fingerprints of their identity and running code.
</t>
              <dl>
                <dt>0:</dt>
                <dd>
                  <t>No assertion</t>
                </dd>
                <dt>1:</dt>
                <dd>
                  <t>Evidence contains unknown elements which inhibit Verifer evaluation.</t>
                </dd>
                <dt>-1:</dt>
                <dd>
                  <t>Verifier malfunction</t>
                </dd>
                <dt>2:</dt>
                <dd>
                  <t>An Attester has passed its hardware and/or firmware verifications needed to demonstrate that these are genuine/supported.</t>
                </dd>
              </dl>
              <t>32: An Attester contains only genuine/supported hardware and/or firmware, but there are known security vulnerabilities.</t>
              <dl>
                <dt>96:</dt>
                <dd>
                  <t>Attester hardware and/or firmware is recognized, but its trustworthiness is contraindicated.</t>
                </dd>
                <dt>97:</dt>
                <dd>
                  <t>A Verifier does not recognize an Attester's hardware or firmware, but it should be recognized.</t>
                </dd>
                <dt>99:</dt>
                <dd>
                  <t>Cryptographic validation of the Evidence has failed.</t>
                </dd>
              </dl>
            </dd>
            <dt>instance-identity:</dt>
            <dd>
              <t>A Verifier has appraised an Attesting Environment's unique identity based upon private key signed Evidence which can be correlated to a unique instantiated instance of the Attester.  (Note: this Trustworthiness Claim should only be generated if the Verifier actually expects to recognize the unique identity of the Attester.)
</t>
              <dl>
                <dt>0:</dt>
                <dd>
                  <t>No assertion</t>
                </dd>
                <dt>1:</dt>
                <dd>
                  <t>Evidence contains unknown elements which inhibit Verifer evaluation.</t>
                </dd>
                <dt>-1:</dt>
                <dd>
                  <t>Verifier malfunction</t>
                </dd>
                <dt>2:</dt>
                <dd>
                  <t>The Attesting Environment is recognized, and the associated instance of the Attester is not known to be compromised.</t>
                </dd>
                <dt>96:</dt>
                <dd>
                  <t>The Attesting Environment is recognized, and but its unique private key indicates a device which is not trustworthy.</t>
                </dd>
                <dt>97:</dt>
                <dd>
                  <t>The Attesting Environment is not recognized; however the Verifier believes it should be.</t>
                </dd>
                <dt>99:</dt>
                <dd>
                  <t>Cryptographic validation of the Evidence has failed.</t>
                </dd>
              </dl>
            </dd>
            <dt>runtime-opaque:</dt>
            <dd>
              <t>A Verifier has appraised the visibility of Attester objects in memory from perspectives outside the Attester.
</t>
              <dl>
                <dt>0:</dt>
                <dd>
                  <t>No assertion</t>
                </dd>
                <dt>1:</dt>
                <dd>
                  <t>Evidence contains unknown elements which inhibit Verifer evaluation.</t>
                </dd>
                <dt>-1:</dt>
                <dd>
                  <t>Verifier malfunction</t>
                </dd>
                <dt>2:</dt>
                <dd>
                  <t>the Attester's executing Target Environment and Attesting Environments are encrypted and within Trusted Execution Environment(s) opaque to the operating system, virtual machine manager, and peer  applications.  (Note: This value corresponds to the protections asserted by O.RUNTIME_CONFIDENTIALITY from <xref target="GP-TEE-PP"/>)</t>
                </dd>
                <dt>32:</dt>
                <dd>
                  <t>the Attester's executing Target Environment and Attesting Environments inaccessible from any other parallel application or Guest VM running on the Attester's physical device.  (Note that unlike "1" these environments are not encrypted in a way which restricts the Attester's root operator visibility. See O.TA_ISOLATION from <xref target="GP-TEE-PP"/>.)</t>
                </dd>
                <dt>96:</dt>
                <dd>
                  <t>The Verifier has concluded that in memory objects are unacceptably visible within the physical host that supports the Attester.</t>
                </dd>
                <dt>99:</dt>
                <dd>
                  <t>Cryptographic validation of the Evidence has failed.</t>
                </dd>
              </dl>
            </dd>
            <dt>sourced-data:</dt>
            <dd>
              <t>A Verifier has evaluated of the integrity of data objects from external systems used by the Attester.
</t>
              <dl>
                <dt>0:</dt>
                <dd>
                  <t>No assertion</t>
                </dd>
                <dt>1:</dt>
                <dd>
                  <t>Evidence contains unknown elements which inhibit Verifer evaluation.</t>
                </dd>
                <dt>-1:</dt>
                <dd>
                  <t>Verifier malfunction</t>
                </dd>
                <dt>2:</dt>
                <dd>
                  <t>All essential Attester source data objects have been provided by other Attester(s) whose most recent appraisal(s) had both no Trustworthiness Claims of "0" where the current Trustworthiness Claim is "Affirming", as well as no "Warning" or "Contraindicated" Trustworthiness Claims.</t>
                </dd>
                <dt>32:</dt>
                <dd>
                  <t>Attester source data objects come from unattested sources, or attested sources with "Warning" type Trustworthiness Claims.</t>
                </dd>
                <dt>96:</dt>
                <dd>
                  <t>Attester source data objects come from contraindicated sources.</t>
                </dd>
                <dt>99:</dt>
                <dd>
                  <t>Cryptographic validation of the Evidence has failed.</t>
                </dd>
              </dl>
            </dd>
            <dt>storage-opaque:</dt>
            <dd>
              <t>A Verifier has appraised that an Attester is capable of encrypting persistent storage. (Note: Protections must meet the capabilities of <xref target="OMTP-ATE"/> Section 5, but need not be hardware tamper resistant.)
</t>
              <dl>
                <dt>0:</dt>
                <dd>
                  <t>No assertion</t>
                </dd>
                <dt>1:</dt>
                <dd>
                  <t>Evidence contains unknown elements which inhibit Verifer evaluation.</t>
                </dd>
                <dt>-1:</dt>
                <dd>
                  <t>Verifier malfunction</t>
                </dd>
                <dt>2:</dt>
                <dd>
                  <t>the Attester encrypts all secrets in persistent storage via using keys which are never visible outside an HSM or the Trusted Execution Environment hardware.</t>
                </dd>
                <dt>32:</dt>
                <dd>
                  <t>the Attester encrypts all persistently stored secrets, but without using hardware backed keys</t>
                </dd>
                <dt>96:</dt>
                <dd>
                  <t>There are persistent secrets which are stored unencrypted in an Attester.</t>
                </dd>
                <dt>99:</dt>
                <dd>
                  <t>Cryptographic validation of the Evidence has failed.</t>
                </dd>
              </dl>
            </dd>
          </dl>
          <t>It is possible for additonal Trustworthiness Claims and enumerated values to be defined in subsequent documents.
At the same time, the standardized Trustworthiness Claim values listed above have been designed so there is no overlap within a Trustworthiness Tier.
As a result, it is possible to imagine a future where overlapping Trustworthiness Claims within a single Trustworthiness Tier may be defined.
Wherever possible, the Verifier SHOULD assign the best fitting standardized value.</t>
          <t>Where a Relying Party doesn't know how to handle a particular Trustworthiness Claim, it MAY choose an appropriate action based on the Trustworthiness Tier under which the enumerated value fits.</t>
          <t>It is up to the Verifier to publish the types of evaluations it performs when determining how Trustworthiness Claims are derived for a type of any particular type of Attester.
It is out of the scope of this document for the Verifier to provide proof or specific logic on how a particular Trustworthiness Claim which it is asserting was derived.</t>
        </section>
        <section anchor="trustworthiness-vector">
          <name>Trustworthiness Vector</name>
          <t>Multiple Trustworthiness Claims may be asserted about an Attesting Environment at single point in time.
The set of Trustworthiness Claims inserted into an instance of Attestation Results by a Verifier is known as a Trustworthiness Vector.
The order of Claims in the vector is NOT meaningful.
A Trustworthiness Vector with no Trustworthiness Claims (i.e., a null Trustworthiness Vector) is a valid construct.
In this case, the Verifier is making no Trustworthiness Claims but is confirming that an appraisal has been made.</t>
        </section>
        <section anchor="trustworthiness-vector-for-a-type-of-attesting-environment">
          <name>Trustworthiness Vector for a type of Attesting Environment</name>
          <t>Some Trustworthiness Claims are implicit based on the underlying type of Attesting Environment.
For example, a validated MRSIGNER identity can be present where the underlying <xref target="SGX"/> hardware is authentic.
Where such implicit Trustworthiness Claims exist, they do not have to be explicitly included in the Trustworthiness Vector.
However, these implicit Trustworthiness Claims SHOULD be considered as being present by the Relying Party.
Another way of saying this is if a Trustworthiness Claim is automatically supported as a result of coming from a specific type of TEE, that claim need not be redundantly articulated. Such implicit Trustworthiness Claims can be seen in the tables within <xref target="process-based-claims"/> and <xref target="VM-based-claims"/>.</t>
          <t>Additionally, there are some Trustworthiness Claims which cannot be adequately supported by an Attesting Environment.
For example, it would be difficult for an Attester that includes only a TPM (and no other TEE) from ever having a Verifier appraise support for 'runtime-opaque'.
As such, a Relying Party would be acting properly if it rejects any non-supportable Trustworthiness Claims asserted from a Verifier.</t>
          <t>As a result, the need for the ability to carry a specific Trustworthiness Claim will vary by the type of Attesting Environment.
Example mappings can be seen in <xref target="claim-for-TEE-types"/>.</t>
        </section>
      </section>
      <section anchor="freshness-section">
        <name>Freshness</name>
        <t>A Relying Party will care about the recentness of the Attestation Results, and the specific Trustworthiness Claims which are embedded.
All freshness mechanisms of <xref target="RFC9334"/>, Section 10 are supportable by this specification.</t>
        <t>Additionally, a Relying Party may track when a Verifier expires its confidence for the Trustworthiness Claims or the Trustworthiness Vector as a whole.  Mechanisms for such expiry are not defined within this document.</t>
        <t>There is a subset of secure interactions where the freshness of Trustworthiness Claims may need to be revisited asynchronously.
This subset is when trustworthiness depends on the continuous availability of a transport session between the Attester and Relying Party.
With such connectivity dependent Attestation Results, if there is a reboot which resets transport connectivity, all established Trustworthiness Claims should be cleared.
Subsequent connection re-establishment will allow fresh new Trustworthiness Claims to be delivered.</t>
      </section>
    </section>
    <section anchor="sec-dm">
      <name>Data Model</name>
      <t>The following CDDL <xref target="RFC8610"/> defines the necessary AR4SI types for use in CBOR and JSON serializations.</t>
      <t>Other serializations are possible but must be defined in subsequent documents.</t>
      <section anchor="sec-tvector">
        <name>Trustworthiness Vector</name>
        <t>The <tt>trustworthiness-vector</tt> is defined as follows:</t>
        <figure anchor="fig-cddl-tvec">
          <name>Trustworthiness Vector</name>
          <sourcecode type="cddl"><![CDATA[
trustworthiness-vector = non-empty<{
  ? instance-identity-label => trustworthiness-claim
  ? configuration-label => trustworthiness-claim
  ? executables-label => trustworthiness-claim
  ? file-system-label => trustworthiness-claim
  ? hardware-label => trustworthiness-claim
  ? runtime-opaque-label => trustworthiness-claim
  ? storage-opaque-label => trustworthiness-claim
  ? sourced-data-label => trustworthiness-claim
}>

instance-identity-label = JC<"instance-identity", 0>
configuration-label = JC<"configuration", 1>
executables-label = JC<"executables", 2>
file-system-label = JC<"file-system", 3>
hardware-label = JC<"hardware", 4>
runtime-opaque-label = JC<"runtime-opaque", 5>
storage-opaque-label = JC<"storage-opaque", 6>
sourced-data-label = JC<"sourced-data", 7>

trustworthiness-claim = -128..127
]]></sourcecode>
        </figure>
        <t>This type contains an entry for each one of the eight AR4SI appraisals that have been conducted on the submitted evidence (<xref target="sec-specific-claims"/>).</t>
        <t>The value of each entry is chosen in the -128..127 range according to the rules described in <xref target="sec-assign-tc"/> and <xref target="sec-specific-claims"/>.</t>
        <t>All categories are optional.</t>
        <t>A missing entry means that the verifier makes no claim about this specific appraisal facet because the category is not applicable to the submitted evidence.</t>
        <t>As required by the <tt>non-empty</tt> macro, at least one entry MUST be present in the vector.</t>
      </section>
      <section anchor="sec-trusttiers">
        <name>Trustworthiness Tiers</name>
        <t>The <tt>trustworthiness-tier</tt> type represents one of the equivalency classes in which the <tt>trustworthiness-claim</tt> space is partitioned.</t>
        <t>See <xref target="sec-enum-encoding"/> for the details.</t>
        <t>The allowed values for the type are as follows:</t>
        <figure anchor="fig-cddl-ttiers">
          <name>Trustworthiness Tiers</name>
          <sourcecode type="cddl"><![CDATA[
trustworthiness-tier-none-label = JC<"none", 0>
trustworthiness-tier-affirming-label = JC<"affirming", 2>
trustworthiness-tier-warning-label = JC<"warning", 32>
trustworthiness-tier-contraindicated-label = JC<"contraindicated", 96>

trustworthiness-tier /= trustworthiness-tier-none-label
trustworthiness-tier /= trustworthiness-tier-affirming-label
trustworthiness-tier /= trustworthiness-tier-warning-label
trustworthiness-tier /= trustworthiness-tier-contraindicated-label
]]></sourcecode>
        </figure>
      </section>
      <section anchor="dm-verifier-id">
        <name>Verifier ID</name>
        <t>The <tt>verifier-id</tt> type identifies the software that runs the verifier according to the information model defined in <xref target="sec-verifier"/>.</t>
        <figure anchor="fig-cddl-verifier-id">
          <name>Verifier ID</name>
          <sourcecode type="cddl"><![CDATA[
verifier-id = {
  developer-label => text
  build-label => text
}

developer-label = JC<"developer", 0>
build-label = JC<"build", 1>
]]></sourcecode>
        </figure>
        <t>The fields are:</t>
        <dl>
          <dt><tt>build</tt> (mandatory)</dt>
          <dd>
            <t>A text string that uniquely identifies the software build running the verifier.</t>
          </dd>
          <dt><tt>developer</tt> (mandatory)</dt>
          <dd>
            <t>A text string that uniquely identifies the organizational unit responsible for this <tt>build</tt>.</t>
          </dd>
        </dl>
      </section>
      <section anchor="consolitated-cddl">
        <name>Consolitated CDDL</name>
        <t><xref target="fig-cddl"/> contains the CDDL of the entire AR4SI type system.</t>
        <figure anchor="fig-cddl">
          <name>AR4SI CDDL</name>
          <sourcecode type="cddl"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

$.start.$ = trustworthiness-vector / trustworthiness-tier / verifier\
                                          -id / trustworthiness-claim
trustworthiness-vector = non-empty<{
    ? instance-identity-label => trustworthiness-claim,
    ? configuration-label => trustworthiness-claim,
    ? executables-label => trustworthiness-claim,
    ? file-system-label => trustworthiness-claim,
    ? hardware-label => trustworthiness-claim,
    ? runtime-opaque-label => trustworthiness-claim,
    ? storage-opaque-label => trustworthiness-claim,
    ? sourced-data-label => trustworthiness-claim,
}>
instance-identity-label = JC<"instance-identity", 0>
configuration-label = JC<"configuration", 1>
executables-label = JC<"executables", 2>
file-system-label = JC<"file-system", 3>
hardware-label = JC<"hardware", 4>
runtime-opaque-label = JC<"runtime-opaque", 5>
storage-opaque-label = JC<"storage-opaque", 6>
sourced-data-label = JC<"sourced-data", 7>
trustworthiness-claim = -128 .. 127
trustworthiness-tier-none-label = JC<"none", 0>
trustworthiness-tier-affirming-label = JC<"affirming", 2>
trustworthiness-tier-warning-label = JC<"warning", 32>
trustworthiness-tier-contraindicated-label = JC<"contraindicated", \
                                                                  96>
trustworthiness-tier /= trustworthiness-tier-none-label / \
trustworthiness-tier-affirming-label / trustworthiness-tier-warning-\
                   label / trustworthiness-tier-contraindicated-label
verifier-id = {
  developer-label => text,
  build-label => text,
}
developer-label = JC<"developer", 0>
build-label = JC<"build", 1>
non-empty<M> = M .within ({+ any => any})
JSON-ONLY<J> = J .feature "json"
CBOR-ONLY<C> = C .feature "cbor"
JC<J, C> = JSON-ONLY<J> / CBOR-ONLY<C>
]]></sourcecode>
        </figure>
      </section>
    </section>
    <section anchor="secure-interactions-models">
      <name>Secure Interactions Models</name>
      <t>There are multiple ways of providing a Trustworthiness Vector to a Relying Party.
This section describes two alternatives.</t>
      <section anchor="background-check">
        <name>Background-Check</name>
        <section anchor="verifier-retrieval">
          <name>Verifier Retrieval</name>
          <t>It is possible to for a Relying Party to follow the Background-Check Model defined in <xref section="5.2" sectionFormat="of" target="RFC9334"/>.
In this case, a Relying Party will receive Attestation Results containing the Trustworthiness Vector directly from a Verifier.
These Attestation Results can then be used by the Relying Party in determining the appropriate treatment for interactions with the Attester.</t>
          <t>While applicable in some cases, the utilization of the Background-Check Model without modification has potential drawbacks in other cases.
These include:</t>
          <ul spacing="normal">
            <li>
              <t>Verifier scale: if the Attester has many Relying Parties, a Verifier appraising that Attester could be frequently be queried based on the same Evidence.</t>
            </li>
            <li>
              <t>Information leak: Evidence which the Attester might consider private can be visible to the Relying Party.  Hiding that Evidence could devalue any resulting appraisal.</t>
            </li>
            <li>
              <t>Latency: a Relying Party will need to wait for the Verifier to return Attestation Results before proceeding with secure interactions with the Attester.</t>
            </li>
          </ul>
          <t>An implementer should examine these potential drawbacks before selecting this alternative.</t>
        </section>
        <section anchor="co-resident-verifier">
          <name>Co-resident Verifier</name>
          <t>A simplified Background-Check Model may exist in a very specific case.
This is where the Relying Party and Verifier functions are co-resident.
This model is appropriate when:</t>
          <ul spacing="normal">
            <li>
              <t>Some hardware-based private key is used by an Attester while proving its identity as part of a mutually authenticated secure channel establishment with the Relying Party, and</t>
            </li>
            <li>
              <t>this Attester identity is accepted as sufficient proof of Attester integrity.</t>
            </li>
          </ul>
          <t>Effectively this means that detailed forensic capabilities of a robust Verifier are unnecessary because it is accepted that the code and operational behavior of the Attester cannot be manipulated after TEE initialization.</t>
          <t>An example of such a scenario may be when an SGX's MRENCLAVE and MRSIGNER values have been associated with a known QUOTE value.
And the code running within the TEE is not modifiable after launch.</t>
        </section>
      </section>
      <section anchor="below-zero-trust">
        <name>Below Zero Trust</name>
        <t>Zero Trust Architectures are referenced in <xref target="US-Executive-Order"/> eleven times.
However despite this high profile, there is an architectural gap with Zero Trust.
The credentials used for authentication and admission control can be manipulated on the endpoint.
Attestation can fill this gap through the generation of a compound credential called AR-augmented Evidence.
This compound credential is rooted in the hardware based Attesting Environment of an endpoint, plus the trustworthiness of a Verifier.
The overall solution is known as "Below Zero Trust" as the compound credential cannot be manipulated or spoofed by an administrator of an endpoint with root access.
This solution is not adversely impacted by the potential drawbacks with pure background-check described above.</t>
        <t>To kick-off the "Below Zero Trust" compound credential creation sequence, a Verifier evaluates an Attester and returns signed Attestation Results back to this original Attester no less frequently than a well-known interval.
This interval may also be asynchronous, based on the changing of certain Evidence as described in <xref target="I-D.ietf-rats-network-device-subscription"/>.</t>
        <t>When a Relying Party is to receive information about the Attester's trustworthiness, the Attesting Environment assembles the minimal set of Evidence which can be used to confirm or refute whether the Attester remains in the state of trustworthiness represented by the AR.
To this Evidence, the Attesting Environment appends the signature from the most recent AR as well as a Relying Party Proof-of-Freshness.
The Attesting Environment then signs the combination.</t>
        <t>The Attester then assembles AR Augmented Evidence by taking the signed combination and appending the full AR. The assembly now consists of two independent but semantically bound sets of signed Evidence.</t>
        <t>The AR Augmented Evidence is then sent to the Relying Party.
The Relying Party then can appraise these semantically bound sets of signed Evidence by applying an Appraisal Policy for Attestation Results as described below.
This policy will consider both the AR as well as additional information about the Attester within the AR Augmented Evidence when determining what action to take.</t>
        <t>This alternative combines the <xref target="RFC9334"/> Sections 5.1 Passport Model and Section 5.2 Background-Check Model.
<xref target="interactions"/> describes this flow of information.
The flows within this combined model are mapped to <xref target="RFC9334"/> in the following way.
"Verifier A" below corresponds to the "Verifier" Figure 5 within <xref target="RFC9334"/>.
And "Relying Party/Verifier B" below corresponds to the union of the "Relying Party" and "Verifier" boxes within Figure 6 of <xref target="RFC9334"/>.
This union is possible because Verifier B can be implemented as a simple, self-contained process.
The resulting combined process can appraise the AR-augmented Evidence to determine whether an Attester qualifies for secure interactions with the Relying Party.
The specific steps of this process are defined later in this section.</t>
        <figure anchor="interactions">
          <name>Below Zero Trust</name>
          <artwork><![CDATA[
  .----------------.
  | Attester       |
  | .-------------.|
  | | Attesting   ||             .----------.    .---------------.
  | | Environment ||             | Verifier |    | Relying Party |
  | '-------------'|             |     A    |    |  / Verifier B |
  '----------------'             '----------'    '---------------'
        time(VG)                       |                 |
          |<------Verifier PoF-------time(NS)            |
          |                            |                 |
 time(EG)(1)------Evidence------------>|                 |
          |                          time(RG)            |
          |<------Attestation Results-(2)                |
          ~                            ~                 ~
        time(VG')?                     |                 |
          ~                            ~                 ~
          |<------Relying Party PoF-----------------(3)time(NS')
          |                            |                 |
time(EG')(4)------AR-augmented Evidence----------------->|
          |                            |   time(RG',RA')(5)
                                                        (6)
                                                         ~
                                                      time(RX')
]]></artwork>
        </figure>
        <t>The interaction model depicted above includes specific time related events from Appendix A of <xref target="RFC9334"/>.
With the identification of these time related events, time duration/interval tracking becomes possible.
Such duration/interval tracking can become important if the Relying Party cares if too much time has elapsed between the Verifier PoF and Relying Party PoF.
If too much time has elapsed, perhaps the Attestation Results themselves are no longer trustworthy.</t>
        <t>Note that while time intervals will often be relevant, there is a simplified case that does not require a Relying Party's PoF in step (3).
In this simplified case, the Relying Party trusts that the Attester cannot be meaningfully changed from the outside during any reportable interval.
Based on that assumption, and when this is the case then the step of the Relying Party PoF can be safely omitted.</t>
        <t>In all cases, appraisal policies define the conditions and prerequisites for when an Attester does qualify for secure interactions.
To qualify, an Attester has to be able to provide all of the mandatory affirming Trustworthiness Claims and identities needed by a Relying Party's Appraisal Policy for Attestation Results, and none of the disqualifying detracting Trustworthiness Claims.</t>
        <t>More details on each interaction step of Below Zero Trust are as follows.
The numbers used in this sequence match to the numbered steps in <xref target="interactions"/>:</t>
        <ol spacing="normal" type="1"><li>
            <t>An Attester sends Evidence which is provably fresh to Verifier A at time(EG).
Freshness from the perspective of Verifier A MAY be established with Verifier PoF such as a nonce.</t>
          </li>
          <li>
            <t>Verifier A appraises (1), then sends the following items back to that Attester within Attestation Results:  </t>
            <ol spacing="normal" type="1"><li>
                <t>the verified identity of the Attesting Environment,</t>
              </li>
              <li>
                <t>the Verifier A appraised Trustworthiness Vector of an Attester,</t>
              </li>
              <li>
                <t>a freshness proof associated with the Attestation Results,</t>
              </li>
              <li>
                <t>a Verifier signature across (2.1) though (2.3).</t>
              </li>
            </ol>
          </li>
          <li>
            <t>At time(EG') a Relying Party PoF (such as a nonce) known to the Relying Party is sent to the Attester.</t>
          </li>
          <li>
            <t>The Attester generates and sends AR-augmented Evidence to the Relying Party/Verifier B.
This AR-augmented Evidence includes:  </t>
            <ol spacing="normal" type="1"><li>
                <t>The Attestation Results from (2)</t>
              </li>
              <li>
                <t>Any (optionally) new incremental Evidence from the Attesting Environment</t>
              </li>
              <li>
                <t>Attestation Environment signature which spans a hash of the Attestation Results (such as the signature of (2.4)), the proof-of-freshness from (3), and (4.2).  Note: this construct allows the delta of time between (2.3) and (3) to be definitively calculated by the Relying Party.</t>
              </li>
            </ol>
          </li>
          <li>
            <t>On receipt of (4), the Relying Party applies its Appraisal Policy for Attestation Results.
At minimum, this appraisal policy process must include the following:  </t>
            <ol spacing="normal" type="1"><li>
                <t>Verify that (4.3) includes the nonce from (3).</t>
              </li>
              <li>
                <t>Use a local certificate to validate the signature (4.1).</t>
              </li>
              <li>
                <t>Verify that the hash from (4.3) matches (4.1)</t>
              </li>
              <li>
                <t>Use the identity of (2.1) to validate the signature of (4.3).</t>
              </li>
              <li>
                <t>Failure of any steps (5.1) through (5.4) means the link does not meet minimum validation criteria, therefore appraise the link as having a null Verifier B Trustworthiness Vector.
Jump to step (6.1).</t>
              </li>
              <li>
                <t>When there is large or uncertain time gap between time(EG) and time(EG'), the link should be assigned a null Verifier B Trustworthiness Vector.
Jump to step (6.1).</t>
              </li>
              <li>
                <t>Assemble the Verifier B Trustworthiness Vector
                </t>
                <ol spacing="normal" type="1"><li>
                    <t>Copy Verifier A Trustworthiness Vector to Verifier B Trustworthiness Vector</t>
                  </li>
                  <li>
                    <t>Add implicit Trustworthiness Claims inherent to the type of TEE.</t>
                  </li>
                  <li>
                    <t>Prune any Trustworthiness Claims unsupportable by the Attesting Environment.</t>
                  </li>
                  <li>
                    <t>Prune any Trustworthiness Claims the Relying Party doesn't accept from this Verifier.</t>
                  </li>
                </ol>
              </li>
            </ol>
          </li>
          <li>
            <t>The Relying Party takes action based on Verifier B's appraised Trustworthiness Vector, and applies the Appraisal Policy for Attestation Results.  Following is a reasonable process for such evaluation:  </t>
            <ol spacing="normal" type="1"><li>
                <t>Prune any Trustworthiness Claims from the Trustworthiness Vector not used in the Appraisal Policy for Attestation Results.</t>
              </li>
              <li>
                <t>Allow the information exchange from the Attester into a Relying Party context in the Appraisal Policy for Attestation Results where the Verifier B appraised Trustworthiness Vector includes all the mandatory Trustworthiness Claims are in the "Affirming" value range, and none of the disqualifying Trustworthiness Claims are in the "Contraindicated" value range.</t>
              </li>
              <li>
                <t>Disallow any information exchange into a Relying Party context for which that Verifier B appraised Trustworthiness Vector is not qualified.</t>
              </li>
            </ol>
          </li>
        </ol>
        <t>As link layer protocols re-authenticate, steps (1) to (2) and steps (3) to (6) will independently refresh.
This allows the Trustworthiness of Attester to be continuously re-appraised.
There are only specific event triggers which will drive the refresh of Evidence generation (1), Attestation Result generation (2), or AR-augmented Evidence generation (4):</t>
        <ul spacing="normal">
          <li>
            <t>life-cycle events, e.g. a change to an Authentication Secret of the Attester or an update of a software component.</t>
          </li>
          <li>
            <t>uptime-cycle events, e.g. a hard reset or a re-initialization of an Attester.</t>
          </li>
          <li>
            <t>authentication-cycle events, e.g. a link-layer interface reset could result in a new (4).</t>
          </li>
        </ul>
      </section>
      <section anchor="mutual-attestation">
        <name>Mutual Attestation</name>
        <t>In the interaction models described above, each device on either side of a secure interaction may require remote attestation of its peer.
This process is known as mutual-attestation.
To support mutual-attestation, the interaction models listed above may be run independently on either side of the connection.</t>
      </section>
      <section anchor="transport-protocol-integration">
        <name>Transport Protocol Integration</name>
        <t>Either unidirectional attestation or mutual attestation may be supported within the protocol interactions needed for the establishment of a single transport session.
While this document does not mandate specific transport protocols, messages containing the Attestation Results and AR Augmented Evidence can be passed within an authentication framework such the EAP protocol <xref target="RFC5247"/> over TLS <xref target="RFC8446"/>.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>Privacy Considerations Text</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Security Considerations Text</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>See Body.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <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"/>
            <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="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <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="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="OMTP-ATE" target="https://www.gsma.com/newsroom/wp-content/uploads/2012/03/omtpadvancedtrustedenvironmentomtptr1v11.pdf">
          <front>
            <title>Open Mobile Terminal Platform - Advanced Trusted Environment</title>
            <author>
              <organization/>
            </author>
            <date year="2009" month="May"/>
          </front>
        </reference>
        <reference anchor="GP-TEE-PP" target="https://globalplatform.org/specs-library/tee-protection-profile-v1-3/">
          <front>
            <title>Global Platform TEE Protection Profile v1.3</title>
            <author>
              <organization/>
            </author>
            <date year="2020" month="September"/>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC5247">
          <front>
            <title>Extensible Authentication Protocol (EAP) Key Management Framework</title>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="D. Simon" initials="D." surname="Simon"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <date month="August" year="2008"/>
            <abstract>
              <t>The Extensible Authentication Protocol (EAP), defined in RFC 3748, enables extensible network access authentication. This document specifies the EAP key hierarchy and provides a framework for the transport and usage of keying material and parameters generated by EAP authentication algorithms, known as "methods". It also provides a detailed system-level security analysis, describing the conditions under which the key management guidelines described in RFC 4962 can be satisfied. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5247"/>
          <seriesInfo name="DOI" value="10.17487/RFC5247"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="TPM-ID" target="https://www.trustedcomputinggroup.org/wp-content/uploads/TPM_Keys_for_Platform_Identity_v1_0_r3_Final.pdf">
          <front>
            <title>TPM Keys for Platform Identity for TPM 1.2</title>
            <author>
              <organization/>
            </author>
            <date year="2015" month="August"/>
          </front>
        </reference>
        <reference anchor="SEV-SNP" target="https://www.amd.com/system/files/TechDocs/SEV-SNP-strengthening-vm-isolation-with-integrity-protection-and-more.pdf">
          <front>
            <title>AMD SEV-SNP: Stregthening VM Isolation with Integrity Protection and More</title>
            <author>
              <organization/>
            </author>
            <date year="2020"/>
          </front>
        </reference>
        <reference anchor="SGX" target="https://software.intel.com/content/dam/develop/external/us/en/documents/intel-sgx-support-for-third-party-attestation-801017.pdf">
          <front>
            <title>Supporting Third Party Attestation for Intel SGX with Intel Data Center Attestation Primitives</title>
            <author>
              <organization/>
            </author>
            <date year="2017"/>
          </front>
        </reference>
        <reference anchor="TDX" target="https://software.intel.com/content/dam/develop/external/us/en/documents/tdx-whitepaper-final9-17.pdf">
          <front>
            <title>Intel Trust Domain Extensions</title>
            <author>
              <organization/>
            </author>
            <date year="2020"/>
          </front>
        </reference>
        <reference anchor="ARM-CCA">
          <front>
            <title>Arm's Confidential Compute Architecture Reference Attestation Token</title>
            <author fullname="Simon Frost" initials="S." surname="Frost">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Mediatek Inc</organization>
            </author>
            <date day="3" month="March" year="2025"/>
            <abstract>
              <t>   The Arm Confidential Compute Architecture (CCA) is series of hardware
   and software innovations that enhance Arm’s support for Confidential
   Computing for large, compute-intensive workloads.  Devices that
   implement CCA can produce attestation tokens as described in this
   memo, which are the basis for trustworthiness assessment of the
   Confidential Compute environment.  This document specifies the CCA
   attestation token structure and semantics.

   The CCA attestation token is a profile of the Entity Attestation
   Token (EAT).  This specification describes what claims are used in an
   attestation token generated by CCA compliant systems, how these
   claims get serialized to the wire, and how they are cryptographically
   protected.

   This informational document is published as an independent submission
   to improve interoperability with Arm's architecture.  It is not a
   standard nor a product of the IETF.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ffm-rats-cca-token-01"/>
        </reference>
        <reference anchor="IEEE802.1AR" target="https://ieeexplore.ieee.org/document/8423794">
          <front>
            <title>802.1AR: Secure Device Identity</title>
            <author>
              <organization/>
            </author>
            <date year="2018" month="August" day="02"/>
          </front>
        </reference>
        <reference anchor="RFC9783">
          <front>
            <title>Arm's Platform Security Architecture (PSA) Attestation Token</title>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="S. Frost" initials="S." surname="Frost"/>
            <author fullname="M. Brossard" initials="M." surname="Brossard"/>
            <author fullname="A. Shaw" initials="A." surname="Shaw"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="June" year="2025"/>
            <abstract>
              <t>Arm's Platform Security Architecture (PSA) is a family of hardware and firmware security specifications, along with open-source reference implementations, aimed at helping device makers and chip manufacturers integrate best-practice security into their products. Devices that comply with PSA can generate attestation tokens as described in this document, which serve as the foundation for various protocols, including secure provisioning and network access control. This document specifies the structure and semantics of the PSA attestation token.</t>
              <t>The PSA attestation token is a profile of the Entity Attestation Token (EAT). This specification describes the claims used in an attestation token generated by PSA-compliant systems, how these claims are serialized for transmission, and how they are cryptographically protected.</t>
              <t>This Informational document is published as an Independent Submission to improve interoperability with Arm's architecture. It is not a standard nor a product of the IETF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9783"/>
          <seriesInfo name="DOI" value="10.17487/RFC9783"/>
        </reference>
        <reference anchor="I-D.ietf-rats-network-device-subscription">
          <front>
            <title>Attestation Event Stream Subscription</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Eric Voit" initials="E." surname="Voit">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="21" month="July" year="2025"/>
            <abstract>
              <t>   This document defines how to subscribe to YANG Event Streams for
   Remote Attestation Procedures (RATS).  In RATS, the Conceptional
   Messages defined can potentially be subscribed to.  Specifically, the
   YANG module defined in this document augments the YANG module for
   TPM-based Challenge-Response based Remote Attestation (CHARRA) to
   allow for subscription to the Conceptual Message type Evidence.
   Additionally, this document provides the methods and means to define
   additional Event Streams for other Conceptual Messages than Evidence
   as illustrated in the RATS Architecture, e.g., Attestation Results,
   Reference Values, or Endorsements.  The module defined requires at
   least one TPM 1.2, TPM 2.0, or equivalent hardware implementation
   providing the same protected capabilities as TPMs to be available in
   the Attester the YANG server is running on.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-network-device-subscription-07"/>
        </reference>
        <reference anchor="TPM2.0" target="https://trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-1-Architecture-01.07-2014-03-13.pdf">
          <front>
            <title>Trusted Platform Module Library - Part 1: Architecture</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="US-Executive-Order" target="https://bidenwhitehouse.archives.gov/briefing-room/presidential-actions/2021/05/12/executive-order-on-improving-the-nations-cybersecurity/">
          <front>
            <title>Executive Order on Improving the Nation's Cybersecurity</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="May" day="12"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 964?>

<section anchor="implementation-guidance">
      <name>Implementation Guidance</name>
      <section anchor="supplementing-trustworthiness-claims">
        <name>Supplementing Trustworthiness Claims</name>
        <t>What has been encoded into each Trustworthiness Claim is the domain of integer values which is likely to drive a different programmatic decision in the Relying Party's Appraisal Policy for Attestation Results.
This will not be the only thing a Relying Party's Operations team might care to track for measurement or debugging purposes.</t>
        <t>There is also the opportunity for the Verifier to include supplementary Evidence beyond a set of asserted Trustworthiness Claims.
It is recommended that if supplementary Evidence is provided by the Verifier within the Attestation Results, that this supplementary Evidence includes a reference to a specific Trustworthiness Claim.
This will allow a deeper understanding of some of the reasoning behind the integer value assigned.</t>
      </section>
    </section>
    <section anchor="claim-for-TEE-types">
      <name>Supportable Trustworthiness Claims</name>
      <t>The following is a table which shows what Claims are supportable by different Attesting Environment types.
Note that claims MAY BE implicit to an Attesting Environment type, and therefore do not have to be included in the Trustworthiness Vector to be considered as set by the Relying Party.</t>
      <section anchor="supportable-trustworthiness-claims-for-hsm-based-cc">
        <name>Supportable Trustworthiness Claims for HSM-based CC</name>
        <t>Following are Trustworthiness Claims which MAY be set for a HSM-based Confidential Computing Attester. (Such as a TPM <xref target="TPM-ID"/>.)</t>
        <table>
          <thead>
            <tr>
              <th align="left">Trustworthiness Claim</th>
              <th align="left">Required?</th>
              <th align="left">Appraisal Method</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">configuration</td>
              <td align="left">Optional</td>
              <td align="left">Verifier evaluation of Attester reveals no configuration lines which expose the Attester to known security vulnerabilities.  This may be done with or without the involvement of a TPM PCR.</td>
            </tr>
            <tr>
              <td align="left">executables</td>
              <td align="left">Yes</td>
              <td align="left">Checks the TPM PCRs for the static operating system, and for any tracked files subsequently loaded</td>
            </tr>
            <tr>
              <td align="left">file-system</td>
              <td align="left">No</td>
              <td align="left">Can be supported, but TPM tracking is unlikely</td>
            </tr>
            <tr>
              <td align="left">hardware</td>
              <td align="left">Yes</td>
              <td align="left">If TPM PCR check ok from BIOS checks, through Master Boot Record configuration</td>
            </tr>
            <tr>
              <td align="left">instance-identity</td>
              <td align="left">Optional</td>
              <td align="left">Check IDevID</td>
            </tr>
            <tr>
              <td align="left">runtime-opaque</td>
              <td align="left">n/a</td>
              <td align="left">TPMs are not recommended to provide a sufficient technology base for this Trustworthiness Claim.</td>
            </tr>
            <tr>
              <td align="left">sourced-data</td>
              <td align="left">n/a</td>
              <td align="left">TPMs are not recommended to provide a sufficient technology base for this Trustworthiness Claim.</td>
            </tr>
            <tr>
              <td align="left">storage-opaque</td>
              <td align="left">Minimal</td>
              <td align="left">With a TPM, secure storage space exists and is writeable by external applications. But the space is so limited that it often is used just be used to store keys.</td>
            </tr>
          </tbody>
        </table>
        <t>Setting the Trustworthiness Claims may follow the following logic at the Verifier A within (2) of <xref target="interactions"/>:</t>
        <artwork><![CDATA[
Start: Evidence received starts the generation of a new
Trustworthiness Vector.  (e.g.,  TPM Quote Received, log received,
or appraisal timer expired)

Step 0: set Trustworthiness Vector = Null

Step 1: Is there sufficient fresh signed evidence to appraise?
  (yes) - No Action
  (no) -  Goto Step 6

Step 2: Appraise Hardware Integrity PCRs
   if (hardware NOT "0") - push onto vector
   if (hardware NOT affirming or warning), go to Step 6

Step 3: Appraise Attesting Environment identity
   if (instance-identity <> "0") - push onto vector

Step 4: Appraise executable loaded and filesystem integrity
   if (executables NOT "0") - push onto vector
   if (executables NOT affirming or warning), go to Step 6

Step 5: Appraise all remaining Trustworthiness Claims
        Independently and set as appropriate.

Step 6: Assemble Attestation Results, and push to Attester

End

]]></artwork>
      </section>
      <section anchor="process-based-claims">
        <name>Supportable Trustworthiness Claims for process-based CC</name>
        <t>Following are Trustworthiness Claims which MAY be set for a process-based Confidential Computing based Attester. (Such as a SGX Enclaves and TrustZone.)</t>
        <table>
          <thead>
            <tr>
              <th align="left">Trustworthiness Claim</th>
              <th align="left">Required?</th>
              <th align="left">Appraisal Method</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">instance-identity</td>
              <td align="left">Optional</td>
              <td align="left">Internally available in TEE.  But keys might not be known/exposed to the Relying Party by the Attesting Environment.</td>
            </tr>
            <tr>
              <td align="left">configuration</td>
              <td align="left">Optional</td>
              <td align="left">If done, this is at the Application Layer.  Plus each process needs it own protection mechanism as the protection is limited to the process itself.</td>
            </tr>
            <tr>
              <td align="left">executables</td>
              <td align="left">Optional</td>
              <td align="left">Internally available in TEE.  But keys might not be known/exposed to the Relying Party by the Attesting Environment.</td>
            </tr>
            <tr>
              <td align="left">file-system</td>
              <td align="left">Optional</td>
              <td align="left">Can be supported by application, but process-based CC is not a sufficient technology base for this Trustworthiness Claim.</td>
            </tr>
            <tr>
              <td align="left">hardware</td>
              <td align="left">Implicit in signature</td>
              <td align="left">At least the TEE is protected here. Other elements of the system outside of the TEE might need additional protections is used by the application process.</td>
            </tr>
            <tr>
              <td align="left">runtime-opaque</td>
              <td align="left">Implicit in signature</td>
              <td align="left">From the TEE</td>
            </tr>
            <tr>
              <td align="left">storage-opaque</td>
              <td align="left">Implicit in signature</td>
              <td align="left">Although the application must assert that this function is used by the code itself.</td>
            </tr>
            <tr>
              <td align="left">sourced-data</td>
              <td align="left">Optional</td>
              <td align="left">Will need to be supported by application code</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="VM-based-claims">
        <name>Supportable Trustworthiness Claims for VM-based CC</name>
        <t>Following are Trustworthiness Claims which MAY be set for a VM-based Confidential Computing based Attester. (Such as SEV, TDX, ACCA, SEV-SNP.)</t>
        <table>
          <thead>
            <tr>
              <th align="left">Trustworthiness Claim</th>
              <th align="left">Required?</th>
              <th align="left">Appraisal Method</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">instance-identity</td>
              <td align="left">Optional</td>
              <td align="left">Internally available in TEE.  But keys might not be known/exposed to the Relying Party by the Attesting Environment.</td>
            </tr>
            <tr>
              <td align="left">configuration</td>
              <td align="left">Optional</td>
              <td align="left">Requires application integration.  Easier than with process-based solution, as the whole protected machine can be evaluated.</td>
            </tr>
            <tr>
              <td align="left">executables</td>
              <td align="left">Optional</td>
              <td align="left">Internally available in TEE.  But keys might not be known/exposed to the Relying Party by the Attesting Environment.</td>
            </tr>
            <tr>
              <td align="left">file-system</td>
              <td align="left">Optional</td>
              <td align="left">Can be supported by application</td>
            </tr>
            <tr>
              <td align="left">hardware</td>
              <td align="left">Chip dependent</td>
              <td align="left">At least the TEE is protected here. Other elements of the system outside of the TEE might need additional protections is used by the application process.</td>
            </tr>
            <tr>
              <td align="left">runtime-opaque</td>
              <td align="left">Implicit in signature</td>
              <td align="left">From the TEE</td>
            </tr>
            <tr>
              <td align="left">storage-opaque</td>
              <td align="left">Chip dependent</td>
              <td align="left">Although the application must assert that this function is used by the code itself.</td>
            </tr>
            <tr>
              <td align="left">sourced-data</td>
              <td align="left">Optional</td>
              <td align="left">Will need to be supported by application code</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="some-issues-being-worked">
      <name>Some issues being worked</name>
      <t>It is possible for a cluster/hierarchy of Verifiers to have aggregate AR which are perhaps signed/endorsed by a lead Verifier.
What should be the Proof-of-Freshness or Verifier associated with any of the aggregate set of Trustworthiness Claims?</t>
      <t>There will need to be a subsequent document which documents how these objects which will be translated into a protocol on a wire (e.g. EAP on TLS).
Some breakpoint between what is in this draft, and what is in specific drafts for wire encoding will need to be determined.
Questions like architecting the cluster/hierarchy of Verifiers fall into this breakdown.</t>
      <t>For some Trustworthiness Claims, there could be value in identifying a specific Appraisal Policy for Attestation Results applied within the Attester.
One way this could be done would be a URI which identifies the policy used at Verifier A, and this URI would reference a specific Trustworthiness Claim.
As the URI also could encode the version of the software, it might also act as a mechanism to signal the Relying Party to refresh/re-evaluate its view of Verifier A.
Do we need this type of structure to be included here?
Should it be in subsequent documents?</t>
      <t>Expand the variant of <xref target="interactions"/> which requires no Relying Party PoF into its own picture.</t>
      <t>In what document (if any) do we attempt normalization of the identity claims between different types of TEE.   E.g., does MRSIGNER plus extra loaded software = the sum of TrustZone Signer IDs for loaded components?</t>
    </section>
    <section anchor="contributors">
      <name>Contributors</name>
      <t>Guy Fedorkow</t>
      <t>Email: gfedorkow@juniper.net</t>
      <t>Dave Thaler</t>
      <t>Email: dthaler@microsoft.com</t>
      <t>Ned Smith</t>
      <t>Email: ned.smith@intel.com</t>
      <t>Lawrence Lundblade</t>
      <t>Email: lgl@island-resort.com</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
oJJ5goWr4BrQG/8HbjgESWP3AAA=

-->

</rfc>
