<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.6.2 (Ruby 2.5.1) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-ietf-rats-ar4si-02" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Attestation Results">Attestation Results for Secure Interactions</title>

    <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>Arm Limited</organization>
      <address>
        <email>Thomas.Fossati@arm.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="2022" month="March" day="07"/>

    <area>Security</area>
    <workgroup>RATS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


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



    </abstract>



  </front>

  <middle>


<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="I-D.ietf-rats-architecture"/> 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>

<t><list style="symbols">
  <t>What Attestation Results (AR) might a Relying Party be willing to trust from a specific Verifier?</t>
  <t>What information does a Relying Party need before allowing interactions or choosing policies to apply to a connection?</t>
  <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>
  <t>How to make direct comparisons where there is a heterogeneous mix of Attesting Environments and Verifier types.</t>
</list></t>

<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.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>The following terms are imported from <xref target="I-D.ietf-rats-architecture"/>:
Appraisal Policy for Attestation Results, Attester, Attesting Environment, Claims, Evidence, Relying Party, Target Environment and Verifier.</t>

<t><xref target="I-D.ietf-rats-architecture"/> 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>

    <t><list style="numbers">
      <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>
      <t>A Relying Party PoF which is bound to the Attestation Results of (1) by the Attester's Attesting Environment signature.</t>
      <t>Sufficient information to determine the elapsed interval between the Verifier PoF and Relying Party PoF.</t>
    </list></t>
  </dd>
  <dt>Identity Evidence:</dt>
  <dd>
    <t>Evidence which unambiguously identifies an identity.
Identity Evidence could take different forms, such as a certificate, or a signature which can be appraised to have only been generated by a specific private/public key pair.</t>
  </dd>
  <dt>Trustworthiness Claim:</dt>
  <dd>
    <t>a specific quanta of trustworthiness which can be assigned by a Verifier based on its appraisal policy.</t>
  </dd>
  <dt>Trustworthiness Tier:</dt>
  <dd>
    <t>a categorization of the levels of trustworthiness which may be assigned by a Verifier to a specific Trustworthiness Claim.
These enumerated categories are: Affirmed, Warning, Contraindicated, and None.</t>
  </dd>
  <dt>Trustworthiness Vector:</dt>
  <dd>
    <t>a set of zero to many Trustworthiness Claims assigned during a single appraisal procedure by a Verifier using Evidence generated by an Attester.
The vector is included within Attestation Results.</t>
  </dd>
</dl>

</section>
</section>
<section anchor="attestation-results-for-secure-interactions"><name>Attestation Results for Secure Interactions</name>

<t>A Verifier generates the Attestation Results used by a Relying Party.
When a Relying Party needs to determine whether to permit communications with an Attester, these Attestation Results must contain a specific set of information elements. 
This section defines those information elements, and in some cases encodings for information elements.</t>

<section anchor="information-driving-a-relying-party-action"><name>Information driving a Relying Party Action</name>

<t>When the action is a communication establishment attempt with an Attester, there is only a limited set of actions which a Relying Party might take.
These actions include:</t>

<t><list style="symbols">
  <t>Allow or deny information exchange with the Attester.
When there is a deny, reasons should be returned to the Attester.</t>
  <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>
  <t>Apply policies on this connection (e.g., rate limits).</t>
</list></t>

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

<t><list style="numbers">
  <t>Non-repudiable Identity Evidence – Evidence which undoubtably identifies one or more entities involved with a communication.</t>
  <t>Trustworthiness Claims – Specifics a Verifier asserts with regards to its trustworthiness findings about an Attester.</t>
  <t>Claim Freshness – Establishes the time of last update (or refresh) of Trustworthiness Claims.</t>
</list></t>

<t>The following sections detail requirements for these three categories.</t>

</section>
<section anchor="identity-section"><name>Non-repudiable Identity</name>

<t>Identity Evidence must be conveyed during the establishment of any trust-based relationship.
Specific use cases will define the minimum types of identities required by a particular Relying Party as it evaluates Attestation Results, and perhaps additional associated Evidence.
At a bare minimum, a Relying Party MUST start with the ability to verify the identity of a Verifier it chooses to trust.
Attester identities may then be acquired through signed or encrypted communications with the Verifier identity and/or the pre-provisioning Attester public keys in the Attester.</t>

<t>During the Remote Attestation process, the Verifier's identity must be established with a Relying Party, often via a Verifier signature across recent Attestation Results.
This Verifier identity could only have come from a key pair maintained by a trusted developer or operator of the Verifier.</t>

<t>Additionally, each set of Attestation Results must be provably and non-reputably bound to the identity of the original Attesting Environment which was evaluated by the Verifier.
This is accomplished via satisfying two requirements.
First the Verifier signed Attestation Results MUST include sufficient Identity Evidence to ensure that this Attesting Environment signature refers to the same Attesting Environment appraised by the Verifier.
Second, where the passport model is used as a subsystem, an Attesting Environment signature which spans the Verifier signature MUST also be included.
As the Verifier signature already spans the Attester Identity as well as the Attestation Results, this restricts the viability of spoofing attacks.</t>

<t>In a subset of use cases, these two pieces of Identity Evidence may be sufficient for a Relying Party to successfully meet the criteria for its Appraisal Policy for Attestation Results.
If the use case is a connection request, a Relying Party may simply then establish a transport session with an Attester after a successful appraisal.
However an Appraisal Policy for Attestation Results will often be more nuanced, and the Relying Party may need additional information.
Some Identity Evidence related policy questions which the Relying Party may consider include:</t>

<t><list style="symbols">
  <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>
  <t>Does the Relying Party only accept connections from a verified-authentic software build from a specific software developer?</t>
  <t>Does the Relying Party only accept connections from specific preconfigured list of Attesters?</t>
</list></t>

<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="I-D.ietf-rats-architecture"/> 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>

<t><list style="numbers">
  <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 lying about the set of security measurements taken. An example of a HSM is a TPM2.0 <xref target="TPM2.0"/>.</t>
  <t>Process-based: An individual process which has its runtime memory encrypted by an Attesting Environment in a way that no other processes can read and decrypt that memory (e.g., <xref target="SGX"/> or <xref target="I-D.tschofenig-rats-psa-token"/>.)</t>
  <t>VM-based: An entire Guest VM (or a set of containers within a host) have been encrypted as a walled-garden unit by an Attesting Environment.  The result is that the host operating system cannot read and decrypt what is executing within that VM (e.g., <xref target="SEV-SNP"/> or <xref target="TDX"/>.)</t>
</list></t>

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

<t><list style="symbols">
  <t>chip-vendor: the vendor of the hardware chip used for the Attesting Environment (e.g., a primary Endorsement Key from a TPM)</t>
  <t>chip-hardware: specific hardware with specific firmware from an 'chip-vendor'</t>
  <t>target-environment: a unique instance of a software build running in an Attester (e.g., MRENCLAVE <xref target="SGX"/>, an Instance ID <xref target="I-D.tschofenig-rats-psa-token"/>, an Identity Block <xref target="SEV-SNP"/>, or a hash which represents a set of software loaded since boot (e.g., TPM based integrity verification.))</t>
  <t>target-developer: the organizational unit responsible for a particular 'target-environment' (e.g., MRSIGNER <xref target="SGX"/>)</t>
  <t>instance: a unique instantiated instance of an Attesting Environment running on 'chip-hardware' (e.g., an LDevID <xref target="IEEE802.1AR"/>)</t>
</list></t>

<t>Based on the category of the Attesting Environment, different types of identities might be exposed by an Attester.</t>

<texttable>
      <ttcol align='left'>Attester Identity type</ttcol>
      <ttcol align='left'>Process-based</ttcol>
      <ttcol align='left'>VM-based</ttcol>
      <ttcol align='left'>HSM-based</ttcol>
      <c>chip-vendor</c>
      <c>Mandatory</c>
      <c>Mandatory</c>
      <c>Mandatory</c>
      <c>chip-hardware</c>
      <c>Mandatory</c>
      <c>Mandatory</c>
      <c>Mandatory</c>
      <c>target-environment</c>
      <c>Mandatory</c>
      <c>Mandatory</c>
      <c>Optional</c>
      <c>target-developer</c>
      <c>Mandatory</c>
      <c>Optional</c>
      <c>Optional</c>
      <c>instance</c>
      <c>Optional</c>
      <c>Optional</c>
      <c>Optional</c>
</texttable>

<t>It is expected that drafts subsequent to this specification will provide the definitions and value domains for specific identities, each of which falling within the Attester identity types listed above.
In some cases the actual unique identities might encoded as complex structures.
An example complex structure might be a 'target-environment' encoded as a Software Bill of Materials (SBOM).</t>

<t>With the identity definitions and value domains, a Relying Party will have sufficient information to ensure that the Attester identities and Trustworthiness Claims asserted are actually capable of being supported by the underlying type of Attesting Environment.
Consequently, the Relying Party SHOULD require Identity Evidence which indicates of the type of Attesting Environment when it considers its Appraisal Policy for Attestation Results.</t>

</section>
<section anchor="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 Verifier identities defined in this document.</t>

<t><list style="symbols">
  <t>verifier build: a unique instance of a software build running as a Verifier.</t>
  <t>verifier developer: the organizational unit responsible for a particular 'verifier build'.</t>
</list></t>

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

<t><list style="numbers">
  <t>Expose a small number of Trustworthiness Claims.  <vspace blankLines='1'/>
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>
  <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.  <vspace blankLines='1'/>
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>
  <t>Verifier and RP developers need explicit definitions of each state in order to accomplish the goals of (1) and (2).  <vspace blankLines='1'/>
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>
  <t>Support standards and non-standard extensibility for (1) and (2).  <vspace blankLines='1'/>
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>
</list></t>

<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="enumeration-encoding"><name>Enumeration Encoding</name>

<t>Per design principle (2), each Trustworthiness Claim will only expose specific encoded values.
To simplify the processing of these enumerations by the Relying Party, the enumeration will be encoded as a single signed 8 bit integer.  These value assignments for this integer will be in four Trustworthiness Tiers which follow these guidelines:</t>

<t>None: The Verifier makes no assertions regarding this aspect of trustworthiness.</t>

<t><list style="symbols">
  <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>
  <t>Value 1: The Evidence received contains unexpected elements which the Verifier is unable to parse.  An example might be that the wrong type of Evidence has been delivered.</t>
  <t>Value -1: A verifier malfunction occurred during the Verifier's appraisal processing.</t>
</list></t>

<t>Affirming: The Verifier affirms the Attester support for this aspect of trustworthiness.</t>

<t><list style="symbols">
  <t>Values 2 to 31: A standards enumerated reason for affirming.</t>
  <t>Values -2 to -32: A non-standard reason for affirming.</t>
</list></t>

<t>Warning: The Verifier warns about this aspect of trustworthiness.</t>

<t><list style="symbols">
  <t>Values 32 to 95: A standards enumerated reason for the warning.</t>
  <t>Values -33 to -96: A non-standard reason for the warning.</t>
</list></t>

<t>Contraindicated: The Verifier asserts the Attester is explicitly untrustworthy in regard to this aspect.</t>

<t><list style="symbols">
  <t>Values 96 to 127: A standards enumerated reason for the contraindication.</t>
  <t>Values -97 to -128: A non-standard reason for the contraindication.</t>
</list></t>

<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="assigning-a-trustworthiness-claim-value"><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>

<t><list style="numbers">
  <t>If applicable, a Verifier MUST assign a standardized value from the Contraindicated tier.</t>
  <t>Else if applicable, a Verifier MUST assign a non-standardized value from the Contraindicated tier.</t>
  <t>Else if applicable, a Verifier MUST assign a standardized value from the Warning tier.</t>
  <t>Else if applicable, a Verifier MUST assign a non-standardized value from the Warning tier.</t>
  <t>Else if applicable, a Verifier MUST assign a standardized value from the Affirming tier.</t>
  <t>Else if applicable, a Verifier MUST assign a non-standardized value from the Affirming tier.</t>
  <t>Else a Verifier MAY assign a 0 or -1.</t>
</list></t>

</section>
<section anchor="specific-claims"><name>Specific Claims</name>

<t>Following are the Trustworthiness Claims and their supported enumerations which may be asserted by a Verifier:</t>

<dl>
  <dt>configuration:</dt>
  <dd>
    <t>A Verifier has appraised an Attester's configuration, and is able to make conclusions regarding the exposure of known vulnerabilities
</t>

    <dl>
      <dt>0:</dt>
      <dd>
        <t>No assertion</t>
      </dd>
      <dt>1:</dt>
      <dd>
        <t>Verifer cannot parse unexpected Evidence.</t>
      </dd>
      <dt>-1:</dt>
      <dd>
        <t>Verifier malfunction</t>
      </dd>
      <dt>2:</dt>
      <dd>
        <t>The configuration is a known and approved config.</t>
      </dd>
      <dt>3:</dt>
      <dd>
        <t>The configuration includes or exposes no known vulnerabilities.</t>
      </dd>
      <dt>32:</dt>
      <dd>
        <t>The configuration includes or exposes known vulnerabilities.</t>
      </dd>
      <dt>96:</dt>
      <dd>
        <t>The configuration is unsupportable as it exposes unacceptable security vulnerabilities.</t>
      </dd>
      <dt>99:</dt>
      <dd>
        <t>Cryptographic validation of the Evidence has failed.</t>
      </dd>
    </dl>
  </dd>
  <dt>executables:</dt>
  <dd>
    <t>A Verifier has appraised and evaluated relevant runtime files, scripts, and/or other objects which have been loaded into the Target environment's memory.
</t>

    <dl>
      <dt>0:</dt>
      <dd>
        <t>No assertion</t>
      </dd>
      <dt>1:</dt>
      <dd>
        <t>Verifer cannot parse unexpected Evidence.</t>
      </dd>
      <dt>-1:</dt>
      <dd>
        <t>Verifier malfunction</t>
      </dd>
      <dt>2:</dt>
      <dd>
        <t>Only a recognized genuine set of approved executables, scripts, files, and/or objects have been loaded during and after the boot process.</t>
      </dd>
      <dt>3:</dt>
      <dd>
        <t>Only a recognized genuine set of approved executables have been loaded during the boot process.</t>
      </dd>
      <dt>32:</dt>
      <dd>
        <t>Only a recognized genuine set of executables, scripts, files, and/or objects have been loaded.  However the Verifier cannot vouch for a subset of these due to known bugs or other known vulnerabilities.</t>
      </dd>
      <dt>33:</dt>
      <dd>
        <t>Runtime memory includes executables, scripts, files, and/or objects which are not recognized.</t>
      </dd>
      <dt>96:</dt>
      <dd>
        <t>Runtime memory includes executables, scripts, files, and/or object which are contraindicated.</t>
      </dd>
      <dt>99:</dt>
      <dd>
        <t>Cryptographic validation of the Evidence has failed.</t>
      </dd>
    </dl>
  </dd>
  <dt>file-system:</dt>
  <dd>
    <t>A Verifier has evaluated a specific set of directories within the Attester's file system.  (Note: the Verifier may or may not indicate what these directory and expected files are via an unspecified management interface.)
</t>

    <dl>
      <dt>0:</dt>
      <dd>
        <t>No assertion</t>
      </dd>
      <dt>1:</dt>
      <dd>
        <t>Verifer cannot parse unexpected Evidence.</t>
      </dd>
      <dt>-1:</dt>
      <dd>
        <t>Verifier malfunction</t>
      </dd>
      <dt>2:</dt>
      <dd>
        <t>Only a recognized set of approved files are found.</t>
      </dd>
      <dt>32:</dt>
      <dd>
        <t>The file system includes unrecognized executables, scripts, or files.</t>
      </dd>
      <dt>96:</dt>
      <dd>
        <t>The file system includes contraindicated executables, scripts, or files.</t>
      </dd>
      <dt>99:</dt>
      <dd>
        <t>Cryptographic validation of the Evidence has failed.</t>
      </dd>
    </dl>
  </dd>
  <dt>hardware:</dt>
  <dd>
    <t>A Verifier has appraised any Attester hardware and firmware which are able to expose fingerprints of their identity and running code.
</t>

    <dl>
      <dt>0:</dt>
      <dd>
        <t>No assertion</t>
      </dd>
      <dt>1:</dt>
      <dd>
        <t>Verifer cannot parse unexpected Evidence.</t>
      </dd>
      <dt>-1:</dt>
      <dd>
        <t>Verifier malfunction</t>
      </dd>
      <dt>2:</dt>
      <dd>
        <t>An Attester has passed its hardware and/or firmware verifications needed to demonstrate that these are genuine/supported.</t>
      </dd>
    </dl>

    <t>32: An Attester contains only genuine/supported hardware and/or firmware, but there are known security vulnerabilities.</t>

    <dl>
      <dt>96:</dt>
      <dd>
        <t>Attester hardware and/or firmware is recognized, but its trustworthiness is contraindicated.</t>
      </dd>
      <dt>97:</dt>
      <dd>
        <t>A Verifier does not recognize an Attester's hardware or firmware, but it should be recognized.</t>
      </dd>
      <dt>99:</dt>
      <dd>
        <t>Cryptographic validation of the Evidence has failed.</t>
      </dd>
    </dl>
  </dd>
  <dt>instance-identity:</dt>
  <dd>
    <t>A Verifier has appraised an Attesting Environment's unique identity based upon private key signed Evidence which can be correlated to a unique instantiated instance of the Attester.  (Note: this Trustworthiness Claim should only be generated if the Verifier actually expects to recognize the unique identity of the Attester.)
</t>

    <dl>
      <dt>0:</dt>
      <dd>
        <t>No assertion</t>
      </dd>
      <dt>1:</dt>
      <dd>
        <t>Verifer cannot parse unexpected Evidence.</t>
      </dd>
      <dt>-1:</dt>
      <dd>
        <t>Verifier malfunction</t>
      </dd>
      <dt>2:</dt>
      <dd>
        <t>The Attesting Environment is recognized, and the associated instance of the Attester is not known to be compromised.</t>
      </dd>
      <dt>96:</dt>
      <dd>
        <t>The Attesting Environment is recognized, and but its unique private key indicates a device which is not trustworthy.</t>
      </dd>
      <dt>97:</dt>
      <dd>
        <t>The Attesting Environment is not recognized; however the Verifier believes it should be.</t>
      </dd>
      <dt>99:</dt>
      <dd>
        <t>Cryptographic validation of the Evidence has failed.</t>
      </dd>
    </dl>
  </dd>
  <dt>runtime-opaque:</dt>
  <dd>
    <t>A Verifier has appraised the visibility of Attester objects in memory from perspectives outside the Attester.
</t>

    <dl>
      <dt>0:</dt>
      <dd>
        <t>No assertion</t>
      </dd>
      <dt>1:</dt>
      <dd>
        <t>Verifer cannot parse unexpected Evidence.</t>
      </dd>
      <dt>-1:</dt>
      <dd>
        <t>Verifier malfunction</t>
      </dd>
      <dt>2:</dt>
      <dd>
        <t>the Attester's executing Target Environment and Attesting Environments are encrypted and within Trusted Execution Environment(s) opaque to the operating system, virtual machine manager, and peer  applications.  (Note: This value corresponds to the protections asserted by O.RUNTIME_CONFIDENTIALITY from <xref target="GP-TEE-PP"/>)</t>
      </dd>
      <dt>32:</dt>
      <dd>
        <t>the Attester's executing Target Environment and Attesting Environments inaccessible from any other parallel application or Guest VM running on the Attester's physical device.  (Note that unlike "1" these environments are not encrypted in a way which restricts the Attester's root operator visibility. See O.TA_ISOLATION from <xref target="GP-TEE-PP"/>.)</t>
      </dd>
      <dt>96:</dt>
      <dd>
        <t>The Verifier has concluded that in memory objects are unacceptably visible within the physical host that supports the Attester.</t>
      </dd>
      <dt>99:</dt>
      <dd>
        <t>Cryptographic validation of the Evidence has failed.</t>
      </dd>
    </dl>
  </dd>
  <dt>sourced-data:</dt>
  <dd>
    <t>A Verifier has evaluated of the integrity of data objects from external systems used by the Attester.
</t>

    <dl>
      <dt>0:</dt>
      <dd>
        <t>No assertion</t>
      </dd>
      <dt>1:</dt>
      <dd>
        <t>Verifer cannot parse unexpected Evidence.</t>
      </dd>
      <dt>-1:</dt>
      <dd>
        <t>Verifier malfunction</t>
      </dd>
      <dt>2:</dt>
      <dd>
        <t>All essential Attester source data objects have been provided by other Attester(s) whose most recent appraisal(s) had both no Trustworthiness Claims of "0" where the current Trustworthiness Claim is "Affirming", as well as no "Warning" or "Contraindicated" Trustworthiness Claims.</t>
      </dd>
      <dt>32:</dt>
      <dd>
        <t>Attester source data objects come from unattested sources, or attested sources with "Warning" type Trustworthiness Claims.</t>
      </dd>
      <dt>96:</dt>
      <dd>
        <t>Attester source data objects come from contraindicated sources.</t>
      </dd>
      <dt>99:</dt>
      <dd>
        <t>Cryptographic validation of the Evidence has failed.</t>
      </dd>
    </dl>
  </dd>
  <dt>storage-opaque:</dt>
  <dd>
    <t>A Verifier has appraised that an Attester is capable of encrypting persistent storage. (Note: Protections must meet the capabilities of <xref target="OMTP-ATE"/> Section 5, but need not be hardware tamper resistant.)
</t>

    <dl>
      <dt>0:</dt>
      <dd>
        <t>No assertion</t>
      </dd>
      <dt>1:</dt>
      <dd>
        <t>Verifer cannot parse unexpected Evidence.</t>
      </dd>
      <dt>-1:</dt>
      <dd>
        <t>Verifier malfunction</t>
      </dd>
      <dt>2:</dt>
      <dd>
        <t>the Attester encrypts all secrets in persistent storage via using keys which are never visible outside an HSM or the Trusted Execution Environment hardware.</t>
      </dd>
      <dt>32:</dt>
      <dd>
        <t>the Attester encrypts all persistently stored secrets, but without using hardware backed keys</t>
      </dd>
      <dt>96:</dt>
      <dd>
        <t>There are persistent secrets which are stored unencrypted in an Attester.</t>
      </dd>
      <dt>99:</dt>
      <dd>
        <t>Cryptographic validation of the Evidence has failed.</t>
      </dd>
    </dl>
  </dd>
</dl>

<t>It is possible for additonal Trustworthiness Claims and enumerated values to be defined in subsequent documents. 
At the same time, the standardized Trustworthiness Claim values listed above have been designed so there is no overlap within a Trustworthiness Tier.
As a result, it is possible to imagine a future where overlapping Trustworthiness Claims within a single Trustworthiness Tier may be defined.
Wherever possible, the Verifier SHOULD assign the best fitting standardized value.</t>

<t>Where a Relying Party doesn't know how to handle a particular Trustworthiness Claim, it MAY choose an appropriate action based on the Trustworthiness Tier under which the enumerated value fits.</t>

<t>It is up to the Verifier to publish the types of evaluations it performs when determining how Trustworthiness Claims are derived for a type of any particular type of Attester.
It is out of the scope of this document for the Verifier to provide proof or specific logic on how a particular Trustworthiness Claim which it is asserting was derived.</t>

</section>
<section anchor="trustworthiness-vector"><name>Trustworthiness Vector</name>

<t>Multiple Trustworthiness Claims may be asserted about an Attesting Environment at single point in time.
The set of Trustworthiness Claims inserted into an instance of Attestation Results by a Verifier is known as a Trustworthiness Vector.
The order of Claims in the vector is NOT meaningful.
A Trustworthiness Vector with no Trustworthiness Claims (i.e., a null Trustworthiness Vector) is a valid construct.
In this case, the Verifier is making no Trustworthiness Claims but is confirming that an appraisal has been made.</t>

</section>
<section anchor="trustworthiness-vector-for-a-type-of-attesting-environment"><name>Trustworthiness Vector for a type of Attesting Environment</name>

<t>Some Trustworthiness Claims are implicit based on the underlying type of Attesting Environment.
For example, a validated MRSIGNER identity can be present where the underlying <xref target="SGX"/> hardware is 'hw-authentic'.
Where such implicit Trustworthiness Claims exist, they do not have to be explicitly included in the Trustworthiness Vector.
However, these implicit Trustworthiness Claims SHOULD be considered as being present by the Relying Party.
Another way of saying this is if a Trustworthiness Claim is automatically supported as a result of coming from a specific type of TEE, that claim need not be redundantly articulated. Such implicit Trustworthiness Claims can be seen in the tables within <xref target="process-based-claims"/> and <xref target="VM-based-claims"/>.</t>

<t>Additionally, there are some Trustworthiness Claims which cannot be adequately supported by an Attesting Environment.
For example, it would be difficult for an Attester that includes only a TPM (and no other TEE) from ever having a Verifier appraise support for 'runtime-opaque'.
As such, a Relying Party would be acting properly if it rejects any non-supportable Trustworthiness Claims asserted from a Verifier.</t>

<t>As a result, the need for the ability to carry a specific Trustworthiness Claim will vary by the type of Attesting Environment.
Example mappings can be seen in <xref target="claim-for-TEE-types"/>.</t>

</section>
</section>
<section anchor="freshness-section"><name>Freshness</name>

<t>A Relying Party will care about the recentness of the Attestation Results, and the specific Trustworthiness Claims which are embedded.
All freshness mechanisms of <xref target="I-D.ietf-rats-architecture"/>, 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="secure-interactions-models"><name>Secure Interactions Models</name>

<t>There are multiple ways of providing a Trustworthiness Vector to a Relying Party.
This section describes two alternatives.</t>

<section anchor="background-check"><name>Background-Check</name>

<section anchor="verifier-retrieval"><name>Verifier Retrieval</name>

<t>It is possible to for a Relying Party to follow the Background-Check Model defined in Section 5.2 of <xref target="I-D.ietf-rats-architecture"/>.
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>

<t><list style="symbols">
  <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>
  <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>
  <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>
</list></t>

<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.<br />
This is where the Relying Party and Verifier functions are co-resident.
This model is appropriate when:</t>

<t><list style="symbols">
  <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>
  <t>this Attester identity is accepted as sufficient proof of Attester integrity.</t>
</list></t>

<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.<br />
This compound credential is rooted in the hardware based Attesting Environment of an endpoint, plus the trustworthiness of a Verifier. 
The overall solution is known as "Below Zero Trust" as the compound credential cannot be manipulated or spoofed by an administrator of an endpoint with root access.
This solution is not adversely impacted by the potential drawbacks with pure background-check described above.</t>

<t>To kick-off the "Below Zero Trust" compound credential creation sequence, a Verifier evaluates an Attester and returns signed Attestation Results back to this original Attester no less frequently than a well-known interval.
This interval may also be asynchronous, based on the changing of certain Evidence as described in <xref target="I-D.ietf-rats-network-device-subscription"/>.</t>

<t>When a Relying Party is to receive information about the Attester's trustworthiness, the Attesting Environment assembles the minimal set of Evidence which can be used to confirm or refute whether the Attester remains in the state of trustworthiness represented by the AR.
To this Evidence, the Attesting Environment appends the signature from the most recent AR as well as a Relying Party Proof-of-Freshness.
The Attesting Environment then signs the combination.</t>

<t>The Attester then assembles AR Augmented Evidence by taking the signed combination and appending the full AR. The assembly now consists of two independent but semantically bound sets of signed Evidence.</t>

<t>The AR Augmented Evidence is then sent to the Relying Party.
The Relying Party then can appraise these semantically bound sets of signed Evidence by applying an Appraisal Policy for Attestation Results as described below.
This policy will consider both the AR as well as additional information about the Attester within the AR Augmented Evidence the when determining what action to take.</t>

<t>This alternative combines the <xref target="I-D.ietf-rats-architecture"/> 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="I-D.ietf-rats-architecture"/> in the following way.
"Verifier A" below corresponds to the "Verifier" Figure 5 within <xref target="I-D.ietf-rats-architecture"/>.
And "Relying Party/Verifier B" below corresponds to the union of the "Relying Party" and "Verifier" boxes within Figure 6 of <xref target="I-D.ietf-rats-architecture"/>.
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 title="Below Zero Trust" anchor="interactions"><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="I-D.ietf-rats-architecture"/>.
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>

<t><list style="numbers">
  <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>
  <t>Verifier A appraises (1), then sends the following items back to that Attester within Attestation Results:  <list style="numbers">
      <t>the verified identity of the Attesting Environment,</t>
      <t>the Verifier A appraised Trustworthiness Vector of an Attester,</t>
      <t>a freshness proof associated with the Attestation Results,</t>
      <t>a Verifier signature across (2.1) though (2.3).</t>
    </list></t>
  <t>At time(EG') a Relying Party PoF (such as a nonce) known to the Relying Party is sent to the Attester.</t>
  <t>The Attester generates and sends AR-augmented Evidence to the Relying Party/Verifier B.
This AR-augmented Evidence includes:  <list style="numbers">
      <t>The Attestation Results from (2)</t>
      <t>Any (optionally) new incremental Evidence from the Attesting Environment</t>
      <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>
    </list></t>
  <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:  <list style="numbers">
      <t>Verify that (4.3) includes the nonce from (3).</t>
      <t>Use a local certificate to validate the signature (4.1).</t>
      <t>Verify that the hash from (4.3) matches (4.1)</t>
      <t>Use the identity of (2.1) to validate the signature of (4.3).</t>
      <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>
      <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>
      <t>Assemble the Verifier B Trustworthiness Vector
      <list style="numbers">
          <t>Copy Verifier A Trustworthiness Vector to Verifier B Trustworthiness Vector</t>
          <t>Add implicit Trustworthiness Claims inherent to the type of TEE.</t>
          <t>Prune any Trustworthiness Claims unsupportable by the Attesting Environment.</t>
          <t>Prune any Trustworthiness Claims the Relying Party doesn't accept from this Verifier.</t>
        </list></t>
    </list></t>
  <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:  <list style="numbers">
      <t>Prune any Trustworthiness Claims from the Trustworthiness Vector not used in the Appraisal Policy for Attestation Results.</t>
      <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>
      <t>Disallow any information exchange into a Relying Party context for which that Verifier B appraised Trustworthiness Vector is not qualified.</t>
    </list></t>
</list></t>

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

<t><list style="symbols">
  <t>life-cycle events, e.g. a change to an Authentication Secret of the Attester or an update of a software component.</t>
  <t>uptime-cycle events, e.g. a hard reset or a re-initialization of an Attester.</t>
  <t>authentication-cycle events, e.g. a link-layer interface reset could result in a new (4).</t>
</list></t>

</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 title='Normative References'>





<reference anchor='RFC2119' target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author fullname='S. Bradner' initials='S.' surname='Bradner'><organization/></author>
<date month='March' year='1997'/>
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference anchor='RFC8174' target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author fullname='B. Leiba' initials='B.' surname='Leiba'><organization/></author>
<date month='May' year='2017'/>
<abstract><t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='8174'/>
<seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>


<reference anchor='I-D.ietf-rats-architecture'>
   <front>
      <title>Remote Attestation Procedures Architecture</title>
      <author fullname='Henk Birkholz'>
	 <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname='Dave Thaler'>
	 <organization>Microsoft</organization>
      </author>
      <author fullname='Michael Richardson'>
	 <organization>Sandelman Software Works</organization>
      </author>
      <author fullname='Ned Smith'>
	 <organization>Intel Corporation</organization>
      </author>
      <author fullname='Wei Pan'>
	 <organization>Huawei Technologies</organization>
      </author>
      <date day='8' month='February' year='2022'/>
      <abstract>
	 <t>   In network protocol exchanges it is often useful for one end of a
   communication to know whether the other end is in an intended
   operating state.  This document provides an architectural overview of
   the entities involved that make such tests possible through the
   process of generating, conveying, and evaluating evidentiary claims.
   An attempt is made to provide for a model that is neutral toward
   processor architectures, the content of claims, and protocols.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-rats-architecture-15'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-rats-architecture-15.txt' type='TXT'/>
</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></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></organization>
    </author>
    <date year="2020" month="September"/>
  </front>
</reference>


    </references>

    <references title='Informative References'>





<reference anchor='RFC5247' target='https://www.rfc-editor.org/info/rfc5247'>
<front>
<title>Extensible Authentication Protocol (EAP) Key Management Framework</title>
<author fullname='B. Aboba' initials='B.' surname='Aboba'><organization/></author>
<author fullname='D. Simon' initials='D.' surname='Simon'><organization/></author>
<author fullname='P. Eronen' initials='P.' surname='Eronen'><organization/></author>
<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 &quot;methods&quot;.  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' target='https://www.rfc-editor.org/info/rfc8446'>
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
<author fullname='E. Rescorla' initials='E.' surname='Rescorla'><organization/></author>
<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></organization>
    </author>
    <date year="2015" month="August"/>
  </front>
</reference>
<reference anchor="SEV-SNP" target="https://www.amd.com/system/files/TechDocs/SEV-SNP-strengthening-vm-isolation-with-integrity-protection-and-more.pdf">
  <front>
    <title>AMD SEV-SNP: Stregthening VM Isolation with Integrity Protection and More</title>
    <author >
      <organization></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></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></organization>
    </author>
    <date year="2020"/>
  </front>
</reference>
<reference anchor="IEEE802.1AR" target="https://ieeexplore.ieee.org/document/8423794">
  <front>
    <title>802.1AR: Secure Device Identity</title>
    <author >
      <organization></organization>
    </author>
    <date year="2018" month="August" day="02"/>
  </front>
</reference>



<reference anchor='I-D.tschofenig-rats-psa-token'>
   <front>
      <title>Arm&#39;s Platform Security Architecture (PSA) Attestation Token</title>
      <author fullname='Hannes Tschofenig'>
	 <organization>Arm Limited</organization>
      </author>
      <author fullname='Simon Frost'>
	 <organization>Arm Limited</organization>
      </author>
      <author fullname='Mathias Brossard'>
	 <organization>Arm Limited</organization>
      </author>
      <author fullname='Adrian Shaw'>
	 <organization>HP Labs</organization>
      </author>
      <author fullname='Thomas Fossati'>
	 <organization>Arm Limited</organization>
      </author>
      <date day='7' month='March' year='2022'/>
      <abstract>
	 <t>   The Platform Security Architecture (PSA) is a family of hardware and
   firmware security specifications, as well as open-source reference
   implementations, to help device makers and chip manufacturers build
   best-practice security into products.  Devices that are PSA compliant
   are able to produce attestation tokens as described in this memo,
   which are the basis for a number of different protocols, including
   secure provisioning and network access control.  This document
   specifies the PSA attestation token structure and semantics.

   The PSA attestation token is a profiled Entity Attestation Token
   (EAT).

   This specification describes what claims are used in an attestation
   token generated by PSA compliant systems, how these claims get
   serialized to the wire, and how they are cryptographically protected.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-tschofenig-rats-psa-token-09'/>
   <format target='https://www.ietf.org/archive/id/draft-tschofenig-rats-psa-token-09.txt' type='TXT'/>
</reference>


<reference anchor='I-D.ietf-rats-network-device-subscription'>
   <front>
      <title>Attestation Event Stream Subscription</title>
      <author fullname='Henk Birkholz'>
	 <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname='Eric Voit'>
	 <organization>Cisco Systems, Inc.</organization>
      </author>
      <author fullname='Wei Pan'>
	 <organization>Huawei Technologies</organization>
      </author>
      <date day='7' month='March' year='2022'/>
      <abstract>
	 <t>   This memo defines how to subscribe to YANG Event Streams for Remote
   Attestation Procedures (RATS).  In RATS, Conceptional Messages, are
   defined.  Analogously, the YANG module defined in this memo augments
   the YANG module for TPM-based Challenge-Response based Remote
   Attestation (CHARRA) to allow for subscription to remote attestation
   Evidence.  Additionally, this memo provides the methods and means to
   define additional Event Streams for other Conceptual Message as
   illustrated in the RATS Architecture, e.g.  Attestation Results,
   Endorsements, or Event Logs.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-rats-network-device-subscription-01'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-rats-network-device-subscription-01.txt' type='TXT'/>
</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></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="US-Executive-Order" target="https://www.whitehouse.gov/briefing-room/presidential-actions/2021/05/12/executive-order-on-improving-the-nations-cybersecurity/">
  <front>
    <title>Executive Order on Improving the Nation's Cybersecurity</title>
    <author >
      <organization></organization>
    </author>
    <date year="2021" month="May" day="12"/>
  </front>
</reference>


    </references>


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

<texttable>
      <ttcol align='left'>Trustworthiness Claim</ttcol>
      <ttcol align='left'>Required?</ttcol>
      <ttcol align='left'>Appraisal Method</ttcol>
      <c>configuration</c>
      <c>Optional</c>
      <c>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.</c>
      <c>executables</c>
      <c>Yes</c>
      <c>Checks the TPM PCRs for the static operating system, and for any tracked files subsequently loaded</c>
      <c>file-system</c>
      <c>No</c>
      <c>Can be supported, but TPM tracking is unlikely</c>
      <c>hardware</c>
      <c>Yes</c>
      <c>If TPM PCR check ok from BIOS checks, through Master Boot Record configuration</c>
      <c>instance-identity</c>
      <c>Optional</c>
      <c>Check IDevID</c>
      <c>runtime-opaque</c>
      <c>n/a</c>
      <c>TPMs are not recommended to provide a sufficient technology base for this Trustworthiness Claim.</c>
      <c>sourced-data</c>
      <c>n/a</c>
      <c>TPMs are not recommended to provide a sufficient technology base for this Trustworthiness Claim.</c>
      <c>storage-opaque</c>
      <c>Minimal</c>
      <c>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.</c>
</texttable>

<t>Setting the Trustworthiness Claims may follow the following logic at the Verifier A within (2) of <xref target="interactions"/>:</t>

<figure><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></figure>

</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>

<texttable>
      <ttcol align='left'>Trustworthiness Claim</ttcol>
      <ttcol align='left'>Required?</ttcol>
      <ttcol align='left'>Appraisal Method</ttcol>
      <c>instance-identity</c>
      <c>Optional</c>
      <c>Internally available in TEE.  But keys might not be known/exposed to the Relying Party by the Attesting Environment.</c>
      <c>configuration</c>
      <c>Optional</c>
      <c>If done, this is at the Application Layer.  Plus each process needs it own protection mechanism as the protection is limited to the process itself.</c>
      <c>executables</c>
      <c>Optional</c>
      <c>Internally available in TEE.  But keys might not be known/exposed to the Relying Party by the Attesting Environment.</c>
      <c>file-system</c>
      <c>Optional</c>
      <c>Can be supported by application, but process-based CC is not a sufficient technology base for this Trustworthiness Claim.</c>
      <c>hardware</c>
      <c>Implicit in signature</c>
      <c>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.</c>
      <c>runtime-opaque</c>
      <c>Implicit in signature</c>
      <c>From the TEE</c>
      <c>storage-opaque</c>
      <c>Implicit in signature</c>
      <c>Although the application must assert that this function is used by the code itself.</c>
      <c>sourced-data</c>
      <c>Optional</c>
      <c>Will need to be supported by application code</c>
</texttable>

</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>

<texttable>
      <ttcol align='left'>Trustworthiness Claim</ttcol>
      <ttcol align='left'>Required?</ttcol>
      <ttcol align='left'>Appraisal Method</ttcol>
      <c>instance-identity</c>
      <c>Optional</c>
      <c>Internally available in TEE.  But keys might not be known/exposed to the Relying Party by the Attesting Environment.</c>
      <c>configuration</c>
      <c>Optional</c>
      <c>Requires application integration.  Easier than with process-based solution, as the whole protected machine can be evaluated.</c>
      <c>executables</c>
      <c>Optional</c>
      <c>Internally available in TEE.  But keys might not be known/exposed to the Relying Party by the Attesting Environment.</c>
      <c>file-system</c>
      <c>Optional</c>
      <c>Can be supported by application</c>
      <c>hardware</c>
      <c>Chip dependent</c>
      <c>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.</c>
      <c>runtime-opaque</c>
      <c>Implicit in signature</c>
      <c>From the TEE</c>
      <c>storage-opaque</c>
      <c>Chip dependent</c>
      <c>Although the application must assert that this function is used by the code itself.</c>
      <c>sourced-data</c>
      <c>Optional</c>
      <c>Will need to be supported by application code</c>
</texttable>

</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?<br />
Should it be in subsequent documents?</t>

<t>Expand the variant of <xref target="interactions"/> which requires no Relying Party PoF into its own picture.</t>

<t>In what document (if any) do we attempt normalization of the identity claims between different types of TEE.   E.g., does MRSIGNER plus extra loaded software = the sum of TrustZone Signer IDs for loaded components?</t>

</section>
<section anchor="contributors"><name>Contributors</name>

<t>Guy Fedorkow</t>

<t>Email: gfedorkow@juniper.net</t>

<t>Dave Thaler</t>

<t>Email: dthaler@microsoft.com</t>

<t>Ned Smith</t>

<t>Email: ned.smith@intel.com</t>

<t>Lawrence Lundblade</t>

<t>Email: lgl@island-resort.com</t>

</section>


  </back>

<!-- ##markdown-source:
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
Q34ZFn15s7m0DOX8OBvgxxmzGNHUrxkBxArXlNq5JmLHiyUBDMdslrnVY6dO
HpwsRQP7MjTmzAIj5HBCIZDoSIguH3Iygg0VIrzAXDz9wtQ/flz4xZaGnKGA
/etARvr4USsv2e9H7ULwztFSbbgHQT4V0tcERCuuNhfUj+ktYdi4BX7CnGsA
HJQ+MKUaTzSAh72mWBNsR0LF+eip5yvbGVakXElPHGfgF1UriH3eDi2v2yyD
4Y3Z0OtU2okuqLUfXolpRGVDtFwH5yv5EUL3FecRrApL9fuyIKWlaFtBMti7
3NtJXJZBa7ANySArrFQnl+g+inWiIe8sWrYw8eNHwqghLIlMYyTqeLnb7bxu
St+2zUxok10VkSbsmNUapWwjuSfN3itisREMvrqjOfJ46DCtS3L3GpqTqux3
hRxYbXn/Cd8Y75yvpZ5jUHir4751VW7H0gy3LA56WAuUNy0NFzfyyv5MffWz
wz7U/auwRK4+OisyNLeeub1SxS8kSTSp7fpr9SlrlmxW7LlyLZdc7E5nn3DL
yoLSCRvEOG6+WzAZRVWcSfM6n8wAU6lxn2aty9SpyNRNT24jjx2NP2mOrf+i
eAVKqZcu31Ut36/PHSSzt1qWURlHhGKjZ690Ye5GXvZGKhBLQ4Fa1optyDHd
bEW1ospUMdknXT2ee1MNJ5mJORvl0inHQXsBV9+HK21RKijlT9GpwZn0aiiq
gLuUF2we19EkjpuDVmH5qLnK9ZTZBCfBikd34Lwgc2cH56uwF5vt4HqHTezJ
Ck2+MJEdo1Yz02Z1MJigLrGmQtZlsIAl9BQE85IuexqmerYKa4UbHTDZ2VR/
vSVpd9aWkzSoTkVEQjM0NLCvS6lWMWqzqKveaj8TTnEkbuEb+cMVpqHeS1zN
U9opsc2qpCEZ6ej9htJuyu0SJXY9bK7HPHRZp1mj7WTPwaiVbV4kroQihdQU
tTgDkjK+Q6sb6WIshdBUFjZhVwnXIgVETXMYVrIRezB1iGwUcRh0SDFWMfIi
bbQTe6nF+PAv+FhiWFygtpDZyzO5/inoJwj04bbVKjVYKSfB2eYZ6qwX+UAN
pl0FEDAKNE3s6hsNVRMjaZ+5lhmgq+81IflT9AZmyifrw26EV3ZxF6fdpgxu
/detmXMuOQnThtbIJXm7+FgnAmKlc1cxQEkuirvSa6wyndgjE1cm0670lM/l
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

-->

</rfc>

