<?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.43 (Ruby 4.0.5) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-ar4si-11" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="Attestation Results">Attestation Results for Secure Interactions</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ar4si-11"/>
    <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>NVIDIA</organization>
      <address>
        <email>tfossati@nvidia.com</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="2026" month="October" day="31"/>
    <area>Security</area>
    <workgroup>RATS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 106?>

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

<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 Attesting Environment entity.
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, None, and Incomplete.</t>
          </dd>
          <dt>Trustworthiness Vector:</dt>
          <dd>
            <t>a set of 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 communications with an Attester is trustworthy, 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>During 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</t>
          </li>
          <li>
            <t>Trustworthiness Claims</t>
          </li>
          <li>
            <t>Claim Freshness</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.</t>
        <t>Attester identities may then be acquired through signed or encrypted communications with the Verifier identity and/or the pre-provisioning Attester public keys in the Attester.</t>
        <t>During the Remote Attestation process, the Verifier's identity must be established with a Relying Party, often via a Verifier signature across recent Attestation Results.
This Verifier identity could only have come from a key pair maintained by a trusted developer or operator of the Verifier.</t>
        <t>Additionally, each set of Attestation Results must be provably and non-reputably bound to the identity of the original Attesting Environment which was evaluated by the Verifier.
This is accomplished via satisfying two requirements.
First the Verifier signed Attestation Results MUST include sufficient Identity Evidence to ensure that this Attesting Environment signature refers to the same Attesting Environment appraised by the Verifier.
Second, where the passport model is used as a subsystem, an Attesting Environment signature which spans the Verifier signature MUST also be included.
As the Verifier signature already spans the Attester Identity as well as the Attestation Results, this restricts the viability of spoofing attacks.</t>
        <t>In a subset of use cases, these two pieces of Identity Evidence may be sufficient for a Relying Party to successfully meet the criteria for its Appraisal Policy for Attestation Results.
If the use case is a connection request, a Relying Party may simply then establish a transport session with an Attester after a successful appraisal.
However an Appraisal Policy for Attestation Results will often be more nuanced, and the Relying Party may need additional information.
Some Identity Evidence related policy questions which the Relying Party may consider include:</t>
        <ul spacing="normal">
          <li>
            <t>Does the Relying Party only trust this Verifier to make Trustworthiness Claims on behalf a specific type of Attesting Environment?  Might a mix of Verifiers be necessary to cover all mandatory Trustworthiness Claims?</t>
          </li>
          <li>
            <t>Does the Relying Party only accept connections from a verified-authentic software build from a specific software developer?</t>
          </li>
          <li>
            <t>Does the Relying Party only accept connections from specific preconfigured list of Attesters?</t>
          </li>
        </ul>
        <t>For any of these more nuanced appraisals, additional Identity Evidence or other policy related information must be conveyed or pre-provisioned during the formation of a trust context between the Relying Party, the Attester, the Attester's Attesting Environment, and the Verifier.</t>
        <section anchor="attester-and-attesting-environment">
          <name>Attester and Attesting Environment</name>
          <t>Per <xref target="RFC9334"/> Figure 2, an Attester and a corresponding Attesting Environment might not share common code or even hardware boundaries.
Consequently, an Attester implementation needs to ensure that any Evidence which originates from outside the Attesting Environment MUST have been collected and delivered securely before any Attesting Environment signing may occur.
After the Verifier performs its appraisal, it will include sufficient information in the Attestation Results to enable a Relying Party to have confidence that the Attester's trustworthiness is represented via Trustworthiness Claims signed by the appropriate Attesting Environment.</t>
          <t>This document recognizes three general categories of Attesters.</t>
          <ol spacing="normal" type="1"><li>
              <t>HSM-based: A Hardware Security Module (HSM) based cryptoprocessor which hashes one or more streams of security measurements from an Attester within the Attesting Environment. Maintenance of this hash enables detection of an Attester which is not reporting the exact set of security measurements (such as log entries) taken within the Attesting Environment. An example of a HSM is a TPM2.0 <xref target="TPM2.0"/>.</t>
            </li>
            <li>
              <t>Process-based: An individual process which has its runtime memory encrypted by an Attesting Environment in a way that no other processes can read and decrypt that memory (e.g., <xref target="SGX"/> or <xref target="RFC9783"/>.)</t>
            </li>
            <li>
              <t>VM-based: An entire Guest VM (or a set of containers within a host) have been encrypted as a walled-garden unit by an Attesting Environment.  The result is that the host operating system cannot read and decrypt what is executing within that VM (e.g., <xref target="SEV-SNP"/>, <xref target="TDX"/> or <xref target="ARM-CCA"/>.)</t>
            </li>
          </ol>
          <t>Each of these categories of Attesters above will be capable of generating Evidence which is protected using private keys / certificates which are not accessible outside of the corresponding Attesting Environment.
The owner of these secrets is the owner of the identity which is bound within the Attesting Environment.
Effectively this means that for any Attester identity, there will exist a chain of trust ultimately bound to a hardware-based root of trust in the Attesting Environment.
It is upon this root of trust that unique, non-repudiable Attester identities may be founded.</t>
          <t>There are several types of Attester identities defined in this document.  This list is extensible:</t>
          <ul spacing="normal">
            <li>
              <t>chip-vendor: the vendor of the hardware chip used for the Attesting Environment (e.g., a primary Endorsement Key from a TPM)</t>
            </li>
            <li>
              <t>chip-hardware: specific hardware with specific firmware from an 'chip-vendor'</t>
            </li>
            <li>
              <t>target-environment: a unique instance of a software build running in an Attester (e.g., MRENCLAVE <xref target="SGX"/>, an Identity Block <xref target="SEV-SNP"/>, a Realm Initial Measurement (RIM) <xref target="ARM-CCA"/>, or a hash which represents a set of software loaded since boot (e.g., TPM based integrity verification.))</t>
            </li>
            <li>
              <t>target-developer: the organizational unit responsible for a particular 'target-environment' (e.g., MRSIGNER <xref target="SGX"/>)</t>
            </li>
            <li>
              <t>instance: a unique instantiated instance of an Attesting Environment running on 'chip-hardware' (e.g., an LDevID <xref target="IEEE802.1AR"/>, an Instance ID <xref target="RFC9783"/> <xref target="ARM-CCA"/>)</t>
            </li>
          </ul>
          <t>Based on the category of the Attesting Environment, different types of identities might be exposed by an Attester.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Attester Identity type</th>
                <th align="left">Process-based</th>
                <th align="left">VM-based</th>
                <th align="left">HSM-based</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">chip-vendor</td>
                <td align="left">Mandatory</td>
                <td align="left">Mandatory</td>
                <td align="left">Mandatory</td>
              </tr>
              <tr>
                <td align="left">chip-hardware</td>
                <td align="left">Mandatory</td>
                <td align="left">Mandatory</td>
                <td align="left">Mandatory</td>
              </tr>
              <tr>
                <td align="left">target-environment</td>
                <td align="left">Mandatory</td>
                <td align="left">Mandatory</td>
                <td align="left">Optional</td>
              </tr>
              <tr>
                <td align="left">target-developer</td>
                <td align="left">Mandatory</td>
                <td align="left">Optional</td>
                <td align="left">Optional</td>
              </tr>
              <tr>
                <td align="left">instance</td>
                <td align="left">Optional</td>
                <td align="left">Optional</td>
                <td align="left">Optional</td>
              </tr>
            </tbody>
          </table>
          <t>It is expected that drafts subsequent to this specification will provide the definitions and value domains for specific identities, each of which falling within the Attester identity types listed above.
In some cases the actual unique identities might be encoded as complex structures.
An example complex structure might be a 'target-environment' encoded as a Software Bill of Materials (SBOM).</t>
          <t>With the identity definitions and value domains, a Relying Party will have sufficient information to ensure that the Attester identities and Trustworthiness Claims asserted are actually capable of being supported by the underlying type of Attesting Environment.
Consequently, the Relying Party SHOULD require Identity Evidence which indicates of the type of Attesting Environment when it considers its Appraisal Policy for Attestation Results.</t>
        </section>
        <section anchor="sec-verifier">
          <name>Verifier</name>
          <t>For the Verifier identity, it is critical for a Relying Party to review the certificate and chain of trust for that Verifier.
Additionally, the Relying Party must have confidence that the Trustworthiness Claims being relied upon from the Verifier considered the chain of trust for the Attesting Environment.</t>
          <t>There are two categorizations of Verifier identities defined in this document:</t>
          <ul spacing="normal">
            <li>
              <t>verifier build: a unique instance of a software build running as a Verifier.</t>
            </li>
            <li>
              <t>verifier developer: the organizational unit responsible for a particular 'verifier build'.</t>
            </li>
          </ul>
          <t>Within each category, communicating the identity can be accomplished via a variety of objects and encodings.</t>
        </section>
        <section anchor="communicating-identity">
          <name>Communicating Identity</name>
          <t>Any of the above identities used by the Appraisal Policy for Attestation Results needed to be pre-established by the Relying Party before, or provided during, the exchange of Attestation Results.
When provided during this exchange, the identity may be communicated either implicitly or explicitly.</t>
          <t>An example of explicit communication would be to include the following Identity Evidence directly within the Attestation Results: a unique identifier for an Attesting Environment, the name of a key which can be provably associated with that unique identifier, and the set of Attestation Results which are signed using that key.
As these Attestation Results are signed by the Verifier, it is the Verifier which is explicitly asserting the credentials it believes are trustworthy.</t>
          <t>An example of implicit communication would be to include Identity Evidence in the form of a signature which has been placed over the Attestation Results asserted by a Verifier.
It would be then up to the Relying Party's Appraisal Policy for Attestation Results to extract this signature and confirm that it only could have been generated by an Attesting Environment having access to a specific private key.
This implicit identity communication is only viable if the Attesting Environment's public key is already known by the Relying Party.</t>
          <t>One final step in communicating identity is proving the freshness of the Attestation Results to the degree needed by the Relying Party.
A typical way to accomplish this is to include an element of freshness be embedded within a signed portion of the Attestation Results.
This element of freshness reduces the identity spoofing risks from a replay attack.
For more on this, see <xref target="freshness-section"/>.</t>
        </section>
      </section>
      <section anchor="vector-section">
        <name>Trustworthiness Claims</name>
        <section anchor="design-principles">
          <name>Design Principles</name>
          <t>Trust is not absolute.
Trust is a belief in some aspect about an entity (in this case an Attester), and that this aspect is something which can be depended upon (in this case by a Relying Party.)
Within the context of Remote Attestation, believability of this aspect is facilitated by a Verifier.
This facilitation depends on the Verifier's ability to parse detailed Evidence from an Attester and then to assert conclusions about this aspect in a way interpretable by a Relying Party.</t>
          <t>Specific aspects for which a Verifier will assert trustworthiness are defined in this section.
These are known as Trustworthiness Claims.
These claims have been designed to enable a common understanding between a broad array of Attesters, Verifiers, and Relying Parties.
The following set of design principles have been applied in the Trustworthiness Claim definitions:</t>
          <ol spacing="normal" type="1"><li>
              <t>Expose a small number of Trustworthiness Claims.  </t>
              <t>
Reason: a plethora of similar Trustworthiness Claims will result in divergent choices made on which to support between different Verifiers.  This would place a lot of complexity in the Relying Party as it would be up to the Relying Party (and its policy language) to enable normalization across rich but incompatible Verifier object definitions.</t>
            </li>
            <li>
              <t>Each Trustworthiness Claim enumerates only the specific states that could viably result in a different outcome after the Policy for Attestation Results has been applied.  </t>
              <t>
Reason: by explicitly disallowing the standardization of enumerated states which cannot easily be connected to a use case, we avoid forcing implementers from making incompatible guesses on what these states might mean.</t>
            </li>
            <li>
              <t>Verifier and RP developers need explicit definitions of each state in order to accomplish the goals of (1) and (2).  </t>
              <t>
Reason: without such guidance, the Verifier will append plenty of raw supporting info.  This relieves the Verifier of making the hard decisions.  Of course, this raw info will be mostly non-interpretable and therefore non-actionable by the Relying Party.</t>
            </li>
            <li>
              <t>Support standards and non-standard extensibility for (1) and (2).  </t>
              <t>
Reason: standard types of Verifier generated Trustworthiness Claims should be vetted by the full RATS working group, rather than being maintained in a repository which doesn't follow the RFC process.  This will keep a tight lid on extensions which must be considered by the Relying Party's policy language.  Because this process takes time, non-standard extensions will be needed for implementation speed and flexibility.</t>
            </li>
          </ol>
          <t>These design principles are important to keep the number of Verifier generated claims low, and to retain the complexity in the Verifier rather than the Relying Party.</t>
        </section>
        <section anchor="sec-enum-encoding">
          <name>Enumeration Encoding</name>
          <t>Per design principle (2), each Trustworthiness Claim will only expose specific encoded values.
To simplify the processing of these enumerations by the Relying Party, the enumeration will be encoded as a single signed 8 bit integer.  These value assignments for this integer will be in five 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>
          </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>Incomplete: The Verifier was unable to complete its appraisal of this aspect of trustworthiness.</t>
          <ul spacing="normal">
            <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>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>The following enumerations apply to all Trustworthiness Claims:</t>
          <dl>
            <dt>0:</dt>
            <dd>
              <t>No assertion</t>
            </dd>
            <dt>1:</dt>
            <dd>
              <t>Evidence contains unknown elements which inhibit Verifier evaluation.</t>
            </dd>
            <dt>-1:</dt>
            <dd>
              <t>Verifier malfunction</t>
            </dd>
            <dt>31:</dt>
            <dd>
              <t>Generic affirming reason</t>
            </dd>
            <dt>95:</dt>
            <dd>
              <t>Generic warning reason</t>
            </dd>
            <dt>99:</dt>
            <dd>
              <t>Cryptographic validation of the Evidence has failed.</t>
            </dd>
            <dt>127:</dt>
            <dd>
              <t>Generic contraindicated reason</t>
            </dd>
          </dl>
          <t>The following Trustworthiness Claims-specific enumerations also apply:</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>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>
              </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>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>
              </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>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>
              </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>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>
              </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>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>
              </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>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>
              </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>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>
              </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>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>
              </dl>
            </dd>
          </dl>
          <t>It is possible for additional Trustworthiness Claims and enumerated values to be defined in subsequent documents.
At the same time, the standardized Trustworthiness Claim values listed above have been designed so there is no overlap within a Trustworthiness Tier.
As a result, it is possible to imagine a future where overlapping Trustworthiness Claims within a single Trustworthiness Tier may be defined.
Wherever possible, the Verifier SHOULD assign the best fitting standardized value.</t>
          <t>Where a Relying Party doesn't know how to handle a particular Trustworthiness Claim, it MAY choose an appropriate action based on the Trustworthiness Tier under which the enumerated value fits.</t>
          <t>It is up to the Verifier to publish the types of evaluations it performs when determining how Trustworthiness Claims are derived for a type of any particular type of Attester.
It is out of the scope of this document for the Verifier to provide proof or specific logic on how a particular Trustworthiness Claim which it is asserting was derived.</t>
        </section>
        <section anchor="trustworthiness-vector">
          <name>Trustworthiness Vector</name>
          <t>Multiple Trustworthiness Claims may be asserted about an Attesting Environment at single point in time.
The set of Trustworthiness Claims inserted into an instance of Attestation Results by a Verifier is known as a Trustworthiness Vector.
The order of Claims in the vector is NOT meaningful.
A Trustworthiness Vector with no Trustworthiness Claims (i.e., a null Trustworthiness Vector) is a valid construct.
In this case, the Verifier is making no Trustworthiness Claims but is confirming that an appraisal has been made.</t>
        </section>
        <section anchor="trustworthiness-vector-for-a-type-of-attesting-environment">
          <name>Trustworthiness Vector for a type of Attesting Environment</name>
          <t>Some Trustworthiness Claims are implicit based on the underlying type of Attesting Environment.
For example, a validated MRSIGNER identity can be present where the underlying <xref target="SGX"/> hardware is authentic.
Where such implicit Trustworthiness Claims exist, they do not have to be explicitly included in the Trustworthiness Vector.
However, these implicit Trustworthiness Claims SHOULD be considered as being present by the Relying Party.
Another way of saying this is if a Trustworthiness Claim is automatically supported as a result of coming from a specific type of TEE, that claim need not be redundantly articulated. Such implicit Trustworthiness Claims can be seen in the tables within <xref target="process-based-claims"/> and <xref target="VM-based-claims"/>.</t>
          <t>Additionally, there are some Trustworthiness Claims which cannot be adequately supported by an Attesting Environment.
For example, it would be difficult for an Attester that includes only a TPM (and no other TEE) from ever having a Verifier appraise support for 'runtime-opaque'.
As such, a Relying Party would be acting properly if it rejects any non-supportable Trustworthiness Claims asserted from a Verifier.</t>
          <t>As a result, the need for the ability to carry a specific Trustworthiness Claim will vary by the type of Attesting Environment.
Example mappings can be seen in <xref target="claim-for-TEE-types"/>.</t>
        </section>
      </section>
      <section anchor="freshness-section">
        <name>Freshness</name>
        <t>A Relying Party will care about the recentness of the Attestation Results, and the specific Trustworthiness Claims which are embedded.
All freshness mechanisms of <xref target="RFC9334"/>, Section 10 are supportable by this specification.</t>
        <t>Additionally, a Relying Party may track when a Verifier expires its confidence for the Trustworthiness Claims or the Trustworthiness Vector as a whole.  Mechanisms for such expiry are not defined within this document.</t>
        <t>There is a subset of secure interactions where the freshness of Trustworthiness Claims may need to be revisited asynchronously.
This subset is when trustworthiness depends on the continuous availability of a transport session between the Attester and Relying Party.
With such connectivity dependent Attestation Results, if there is a reboot which resets transport connectivity, all established Trustworthiness Claims should be cleared.
Subsequent connection re-establishment will allow fresh new Trustworthiness Claims to be delivered.</t>
      </section>
    </section>
    <section anchor="sec-dm">
      <name>Data Model</name>
      <t>The following CDDL <xref target="RFC8610"/> defines the necessary AR4SI types for use in CBOR and JSON serializations.</t>
      <t>Other serializations are possible but must be defined in subsequent documents.</t>
      <section anchor="sec-tvector">
        <name>Trustworthiness Vector</name>
        <t>The <tt>trustworthiness-vector</tt> is defined as follows:</t>
        <figure anchor="fig-cddl-tvec">
          <name>Trustworthiness Vector</name>
          <sourcecode type="cddl"><![CDATA[
trustworthiness-vector = non-empty<{
  ? instance-identity-label => trustworthiness-claim
  ? configuration-label => trustworthiness-claim
  ? executables-label => trustworthiness-claim
  ? file-system-label => trustworthiness-claim
  ? hardware-label => trustworthiness-claim
  ? runtime-opaque-label => trustworthiness-claim
  ? storage-opaque-label => trustworthiness-claim
  ? sourced-data-label => trustworthiness-claim
}>

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

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

trustworthiness-tier /= trustworthiness-tier-none-label
trustworthiness-tier /= trustworthiness-tier-affirming-label
trustworthiness-tier /= trustworthiness-tier-warning-label
trustworthiness-tier /= trustworthiness-tier-contraindicated-label
trustworthiness-tier /= trustworthiness-tier-incomplete-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="consolidated-cddl">
        <name>Consolidated 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-appraisal-aborted-label = JC<"appraisal-aborted\
                                                              ", 127>
trustworthiness-tier /= trustworthiness-tier-none-label / \
trustworthiness-tier-affirming-label / trustworthiness-tier-warning-\
label / trustworthiness-tier-contraindicated-label / trustworthiness\
                                        -tier-appraisal-aborted-label
verifier-id = {
  developer-label => text,
  build-label => text,
}
developer-label = JC<"developer", 0>
build-label = JC<"build", 1>
non-empty<M> = M .within ({+ any => any})
JSON-ONLY<J> = J .feature "json"
CBOR-ONLY<C> = C .feature "cbor"
JC<J, C> = JSON-ONLY<J> / CBOR-ONLY<C>
]]></sourcecode>
        </figure>
      </section>
    </section>
    <section anchor="secure-interactions-models">
      <name>Secure Interactions Models</name>
      <t>There are multiple ways of providing a Trustworthiness Vector to a Relying Party.
This section describes two alternatives.</t>
      <section anchor="background-check">
        <name>Background-Check</name>
        <section anchor="verifier-retrieval">
          <name>Verifier Retrieval</name>
          <t>It is possible to for a Relying Party to follow the Background-Check Model defined in <xref section="5.2" sectionFormat="of" target="RFC9334"/>.
In this case, a Relying Party will receive Attestation Results containing the Trustworthiness Vector directly from a Verifier.
These Attestation Results can then be used by the Relying Party in determining the appropriate treatment for interactions with the Attester.</t>
          <t>While applicable in some cases, the utilization of the Background-Check Model without modification has potential drawbacks in other cases.
These include:</t>
          <ul spacing="normal">
            <li>
              <t>Verifier scale: if the Attester has many Relying Parties, a Verifier appraising that Attester could be frequently be queried based on the same Evidence.</t>
            </li>
            <li>
              <t>Information leak: Evidence which the Attester might consider private can be visible to the Relying Party.  Hiding that Evidence could devalue any resulting appraisal.</t>
            </li>
            <li>
              <t>Latency: a Relying Party will need to wait for the Verifier to return Attestation Results before proceeding with secure interactions with the Attester.</t>
            </li>
          </ul>
          <t>An implementer should examine these potential drawbacks before selecting this alternative.</t>
        </section>
        <section anchor="co-resident-verifier">
          <name>Co-resident Verifier</name>
          <t>A simplified Background-Check Model may exist in a very specific case.
This is where the Relying Party and Verifier functions are co-resident.
This model is appropriate when:</t>
          <ul spacing="normal">
            <li>
              <t>Some hardware-based private key is used by an Attester while proving its identity as part of a mutually authenticated secure channel establishment with the Relying Party, and</t>
            </li>
            <li>
              <t>this Attester identity is accepted as sufficient proof of Attester integrity.</t>
            </li>
          </ul>
          <t>Effectively this means that detailed forensic capabilities of a robust Verifier are unnecessary because it is accepted that the code and operational behavior of the Attester cannot be manipulated after TEE initialization.</t>
          <t>An example of such a scenario may be when an SGX's MRENCLAVE and MRSIGNER values have been associated with a known QUOTE value.
And the code running within the TEE is not modifiable after launch.</t>
        </section>
      </section>
      <section anchor="below-zero-trust">
        <name>Below Zero Trust</name>
        <t>Zero Trust Architectures are referenced in <xref target="US-Executive-Order"/> eleven times.
However despite this high profile, there is an architectural gap with Zero Trust.
The credentials used for authentication and admission control can be manipulated on the endpoint.
Attestation can fill this gap through the generation of a compound credential called AR-augmented Evidence.
This compound credential is rooted in the hardware based Attesting Environment of an endpoint, plus the trustworthiness of a Verifier.
The overall solution is known as "Below Zero Trust" as the compound credential cannot be manipulated or spoofed by an administrator of an endpoint with root access.
This solution is not adversely impacted by the potential drawbacks with pure background-check described above.</t>
        <t>To kick-off the "Below Zero Trust" compound credential creation sequence, a Verifier evaluates an Attester and returns signed Attestation Results back to this original Attester no less frequently than a well-known interval.
This interval may also be asynchronous, based on the changing of certain Evidence as described in <xref target="I-D.ietf-rats-network-device-subscription"/>.</t>
        <t>When a Relying Party is to receive information about the Attester's trustworthiness, the Attesting Environment assembles the minimal set of Evidence which can be used to confirm or refute whether the Attester remains in the state of trustworthiness represented by the AR.
To this Evidence, the Attesting Environment appends the signature from the most recent AR as well as a Relying Party Proof-of-Freshness.
The Attesting Environment then signs the combination.</t>
        <t>The Attester then assembles AR Augmented Evidence by taking the signed combination and appending the full AR. The assembly now consists of two independent but semantically bound sets of signed Evidence.</t>
        <t>The AR Augmented Evidence is then sent to the Relying Party.
The Relying Party then can appraise these semantically bound sets of signed Evidence by applying an Appraisal Policy for Attestation Results as described below.
This policy will consider both the AR as well as additional information about the Attester within the AR Augmented Evidence when determining what action to take.</t>
        <t>This alternative combines the <xref target="RFC9334"/> Sections 5.1 Passport Model and Section 5.2 Background-Check Model.
<xref target="interactions"/> describes this flow of information.
The flows within this combined model are mapped to <xref target="RFC9334"/> in the following way.
"Verifier A" below corresponds to the "Verifier" Figure 5 within <xref target="RFC9334"/>.
And "Relying Party/Verifier B" below corresponds to the union of the "Relying Party" and "Verifier" boxes within Figure 6 of <xref target="RFC9334"/>.
This union is possible because Verifier B can be implemented as a simple, self-contained process.
The resulting combined process can appraise the AR-augmented Evidence to determine whether an Attester qualifies for secure interactions with the Relying Party.
The specific steps of this process are defined later in this section.</t>
        <figure anchor="interactions">
          <name>Below Zero Trust</name>
          <artwork><![CDATA[
  .----------------.
  | Attester       |
  | .-------------.|
  | | Attesting   ||             .----------.    .---------------.
  | | Environment ||             | Verifier |    | Relying Party |
  | '-------------'|             |     A    |    |  / Verifier B |
  '----------------'             '----------'    '---------------'
        time(VG)                       |                 |
          |<------Verifier PoF-------time(NS)            |
          |                            |                 |
 time(EG)(1)------Evidence------------>|                 |
          |                          time(RG)            |
          |<------Attestation Results-(2)                |
          ~                            ~                 ~
        time(VG')?                     |                 |
          ~                            ~                 ~
          |<------Relying Party PoF-----------------(3)time(NS')
          |                            |                 |
time(EG')(4)------AR-augmented Evidence----------------->|
          |                            |   time(RG',RA')(5)
                                                        (6)
                                                         ~
                                                      time(RX')
]]></artwork>
        </figure>
        <t>The interaction model depicted above includes specific time related events from Appendix A of <xref target="RFC9334"/>.
With the identification of these time related events, time duration/interval tracking becomes possible.
Such duration/interval tracking can become important if the Relying Party cares if too much time has elapsed between the Verifier PoF and Relying Party PoF.
If too much time has elapsed, perhaps the Attestation Results themselves are no longer trustworthy.</t>
        <t>Note that while time intervals will often be relevant, there is a simplified case that does not require a Relying Party's PoF in step (3).
In this simplified case, the Relying Party trusts that the Attester cannot be meaningfully changed from the outside during any reportable interval.
Based on that assumption, and when this is the case then the step of the Relying Party PoF can be safely omitted.</t>
        <t>In all cases, appraisal policies define the conditions and prerequisites for when an Attester does qualify for secure interactions.
To qualify, an Attester has to be able to provide all of the mandatory affirming Trustworthiness Claims and identities needed by a Relying Party's Appraisal Policy for Attestation Results, and none of the disqualifying detracting Trustworthiness Claims.</t>
        <t>More details on each interaction step of Below Zero Trust are as follows.
The numbers used in this sequence match to the numbered steps in <xref target="interactions"/>:</t>
        <ol spacing="normal" type="1"><li>
            <t>An Attester sends Evidence which is provably fresh to Verifier A at time(EG).
Freshness from the perspective of Verifier A MAY be established with Verifier PoF such as a nonce.</t>
          </li>
          <li>
            <t>Verifier A appraises (1), then sends the following items back to that Attester within Attestation Results:  </t>
            <ol spacing="normal" type="1"><li>
                <t>the verified identity of the Attesting Environment,</t>
              </li>
              <li>
                <t>the Verifier A appraised Trustworthiness Vector of an Attester,</t>
              </li>
              <li>
                <t>a freshness proof associated with the Attestation Results,</t>
              </li>
              <li>
                <t>a Verifier signature across (2.1) though (2.3).</t>
              </li>
            </ol>
          </li>
          <li>
            <t>At time(EG') a Relying Party PoF (such as a nonce) known to the Relying Party is sent to the Attester.</t>
          </li>
          <li>
            <t>The Attester generates and sends AR-augmented Evidence to the Relying Party/Verifier B.
This AR-augmented Evidence includes:  </t>
            <ol spacing="normal" type="1"><li>
                <t>The Attestation Results from (2)</t>
              </li>
              <li>
                <t>Any (optionally) new incremental Evidence from the Attesting Environment</t>
              </li>
              <li>
                <t>Attestation Environment signature which spans a hash of the Attestation Results (such as the signature of (2.4)), the proof-of-freshness from (3), and (4.2).  Note: this construct allows the delta of time between (2.3) and (3) to be definitively calculated by the Relying Party.</t>
              </li>
            </ol>
          </li>
          <li>
            <t>On receipt of (4), the Relying Party applies its Appraisal Policy for Attestation Results.
At minimum, this appraisal policy process must include the following:  </t>
            <ol spacing="normal" type="1"><li>
                <t>Verify that (4.3) includes the nonce from (3).</t>
              </li>
              <li>
                <t>Use a local certificate to validate the signature (4.1).</t>
              </li>
              <li>
                <t>Verify that the hash from (4.3) matches (4.1)</t>
              </li>
              <li>
                <t>Use the identity of (2.1) to validate the signature of (4.3).</t>
              </li>
              <li>
                <t>Failure of any steps (5.1) through (5.4) means the link does not meet minimum validation criteria, therefore appraise the link as having a null Verifier B Trustworthiness Vector.
Jump to step (6.1).</t>
              </li>
              <li>
                <t>When there is large or uncertain time gap between time(EG) and time(EG'), the link should be assigned a null Verifier B Trustworthiness Vector.
Jump to step (6.1).</t>
              </li>
              <li>
                <t>Assemble the Verifier B Trustworthiness Vector
                </t>
                <ol spacing="normal" type="1"><li>
                    <t>Copy Verifier A Trustworthiness Vector to Verifier B Trustworthiness Vector</t>
                  </li>
                  <li>
                    <t>Add implicit Trustworthiness Claims inherent to the type of TEE.</t>
                  </li>
                  <li>
                    <t>Prune any Trustworthiness Claims unsupportable by the Attesting Environment.</t>
                  </li>
                  <li>
                    <t>Prune any Trustworthiness Claims the Relying Party doesn't accept from this Verifier.</t>
                  </li>
                </ol>
              </li>
            </ol>
          </li>
          <li>
            <t>The Relying Party takes action based on Verifier B's appraised Trustworthiness Vector, and applies the Appraisal Policy for Attestation Results.  Following is a reasonable process for such evaluation:  </t>
            <ol spacing="normal" type="1"><li>
                <t>Prune any Trustworthiness Claims from the Trustworthiness Vector not used in the Appraisal Policy for Attestation Results.</t>
              </li>
              <li>
                <t>Allow the information exchange from the Attester into a Relying Party context in the Appraisal Policy for Attestation Results where the Verifier B appraised Trustworthiness Vector includes all the mandatory Trustworthiness Claims are in the "Affirming" value range, and none of the disqualifying Trustworthiness Claims are in the "Contraindicated" value range.</t>
              </li>
              <li>
                <t>Disallow any information exchange into a Relying Party context for which that Verifier B appraised Trustworthiness Vector is not qualified.</t>
              </li>
            </ol>
          </li>
        </ol>
        <t>As link layer protocols re-authenticate, steps (1) to (2) and steps (3) to (6) will independently refresh.
This allows the Trustworthiness of Attester to be continuously re-appraised.
There are only specific event triggers which will drive the refresh of Evidence generation (1), Attestation Result generation (2), or AR-augmented Evidence generation (4):</t>
        <ul spacing="normal">
          <li>
            <t>life-cycle events, e.g. a change to an Authentication Secret of the Attester or an update of a software component.</t>
          </li>
          <li>
            <t>uptime-cycle events, e.g. a hard reset or a re-initialization of an Attester.</t>
          </li>
          <li>
            <t>authentication-cycle events, e.g. a link-layer interface reset could result in a new (4).</t>
          </li>
        </ul>
      </section>
      <section anchor="mutual-attestation">
        <name>Mutual Attestation</name>
        <t>In the interaction models described above, each device on either side of a secure interaction may require remote attestation of its peer.
This process is known as mutual-attestation.
To support mutual-attestation, the interaction models listed above may be run independently on either side of the connection.</t>
      </section>
      <section anchor="transport-protocol-integration">
        <name>Transport Protocol Integration</name>
        <t>Either unidirectional attestation or mutual attestation may be supported within the protocol interactions needed for the establishment of a single transport session.
While this document does not mandate specific transport protocols, messages containing the Attestation Results and AR Augmented Evidence can be passed within an authentication framework such the EAP protocol <xref target="RFC5247"/> over TLS <xref target="RFC8446"/>.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>Privacy Considerations Text</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Security Considerations Text</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>See Body.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="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>
        <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>
      </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: Strengthening VM Isolation with Integrity Protection and More</title>
            <author>
              <organization/>
            </author>
            <date year="2020"/>
          </front>
        </reference>
        <reference anchor="SGX" target="https://software.intel.com/content/dam/develop/external/us/en/documents/intel-sgx-support-for-third-party-attestation-801017.pdf">
          <front>
            <title>Supporting Third Party Attestation for Intel SGX with Intel Data Center Attestation Primitives</title>
            <author>
              <organization/>
            </author>
            <date year="2017"/>
          </front>
        </reference>
        <reference anchor="TDX" target="https://software.intel.com/content/dam/develop/external/us/en/documents/tdx-whitepaper-final9-17.pdf">
          <front>
            <title>Intel Trust Domain Extensions</title>
            <author>
              <organization/>
            </author>
            <date year="2020"/>
          </front>
        </reference>
        <reference anchor="ARM-CCA">
          <front>
            <title>Arm's Confidential Compute Architecture Reference Attestation Token</title>
            <author fullname="Simon Frost" initials="S." surname="Frost">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Advanced Micro Devices Inc</organization>
            </author>
            <date day="7" month="September" year="2026"/>
            <abstract>
              <t>   The Arm Confidential Compute Architecture (CCA) is series of hardware
   and software innovations that enhance Arm’s support for Confidential
   Computing for large, compute-intensive workloads.  Devices that
   implement CCA can produce attestation tokens as described in this
   memo, which are the basis for trustworthiness assessment of the
   Confidential Compute environment.  This document specifies the CCA
   attestation token structure and semantics.

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

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

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

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

<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 its 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 numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Many thanks to
Michael Richardson and
Sergei Trofimov
for helpful comments, suggestions and discussions that have shaped this document.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="G." surname="Fedorkow" fullname="Guy Fedorkow">
        <organization/>
        <address>
          <email>gfedorkow@juniper.net</email>
        </address>
      </contact>
      <contact initials="D." surname="Thaler" fullname="Dave Thaler">
        <organization/>
        <address>
          <email>dthaler@microsoft.com</email>
        </address>
      </contact>
      <contact initials="N." surname="Smith" fullname="Ned Smith">
        <organization/>
        <address>
          <email>ned.smith@intel.com</email>
        </address>
      </contact>
      <contact initials="L." surname="Lundblade" fullname="Lawrence Lundblade">
        <organization/>
        <address>
          <email>lgl@island-resort.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
/PxvMSfjb+fzAAA=

-->

</rfc>
