<?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.23 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-ar4si-08" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.26.0 -->
  <front>
    <title abbrev="Attestation Results">Attestation Results for Secure Interactions</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ar4si-08"/>
    <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="February" day="06"/>
    <area>Security</area>
    <workgroup>RATS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 95?>

<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 103?>

<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="I-D.tschofenig-rats-psa-token"/>.)</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"/> or <xref target="TDX"/>.)</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 Instance ID <xref target="I-D.tschofenig-rats-psa-token"/>, an Identity Block <xref target="SEV-SNP"/>, 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"/>)</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 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 'hw-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 Section 5.2 of <xref 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 the 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="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="I-D.tschofenig-rats-psa-token">
          <front>
            <title>Arm's Platform Security Architecture (PSA) Attestation Token</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
            <author fullname="Simon Frost" initials="S." surname="Frost">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Mathias Brossard" initials="M." surname="Brossard">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Adrian L. Shaw" initials="A. L." surname="Shaw">
              <organization>HP Labs</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <date day="23" month="September" year="2024"/>
            <abstract>
              <t>   The Arm Platform Security Architecture (PSA) is a family of hardware
   and firmware security specifications, as well as open-source
   reference implementations, to help device makers and chip
   manufacturers build best-practice security into products.  Devices
   that are PSA compliant can produce attestation tokens as described in
   this memo, which are the basis for many different protocols,
   including secure provisioning and network access control.  This
   document specifies the PSA attestation token structure and semantics.

   The PSA attestation token is a profile of the Entity Attestation
   Token (EAT).  This specification describes what claims are used in an
   attestation token generated by PSA 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-tschofenig-rats-psa-token-24"/>
        </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="8" month="January" 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-06"/>
        </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://www.whitehouse.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 963?>

<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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
isWr4BrQG/8HhXAmHAv3AAA=

-->

</rfc>
