<?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.2.13 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-voit-rats-attestation-results-00" category="std">

  <front>
    <title abbrev="Attestation Results">Attestation Results for Connectivity</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="2021" month="April" day="26"/>

    <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 heterogenous 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" title="Introduction">

<t>The Remote ATtestation procedureS (RATS) architecture <xref target="I-D.ietf-rats-architecture"/> defines conceptual messages conveyed between architectural subsystems to support trustworthiness appraisal. Within RATS, the Attestation Results conceptual message consists of “output generated by a Verifier, typically including information about an Attester, where the Verifier vouches for the validity of the results”.</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 interact with the Relying Party over a connection between the two.</t>

<t>When determining whether to allow connectivity-based 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 types of Attestation Results (AR) might a Relying Party be willing to trust from a specific type of Verifier?</t>
  <t>What supplemental information must the Verifier need to include within Attestation Results to convince a Relying Party to allow interactions, or to apply policies to any connections, based on these Attestation Results?</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 connecting into a Relying Party.</t>

<t>The business need therefore is for common Attestation Result information element definitions.
With these definitions, consistent 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.
Of specific focus are TPM, TrustZone, and SGX based Attesting Environments.
Extensions to this document can enable additional TEE environments and additional information elements to be supported.</t>

<section anchor="requirements-notation" title="Requirements Notation">

<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" title="Terminology">

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

<t><list style="hanging">
  <t hangText='AR-augmented Evidence:'>
  a bundle of Evidence which includes at least the following:

      <list style="numbers">
        <t>Verifier signed Attestation Results.  These Attestation Results must include 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>
  <t hangText='Identity Evidence:'>
  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>
  <t hangText='Trustworthiness Claim:'>
  a specific quanta of trustworthiness which can be assigned by a Verifier based on its appraisal policy.</t>
  <t hangText='Trustworthiness Vector:'>
  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>
</list></t>

</section>
</section>
<section anchor="attestation-result-actions" title="Attestation Results and Actions">

<t>When a Relying Party receives Attestation Results, it will receive them as part of a protocol from an endpoint which expects some result from this communication. 
Upon receipt, the Relying Party will apply an Appraisal Policy for Attestation Results. 
This policy will consider the Attestation Results as well as additional information about the Attester and Verifier when determining what action to take.</t>

<section anchor="attestation-results-for-connectivity" title="Attestation Results for Connectivity">

<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  (i.e., connectivity). When there is a deny, reasons should be returned to the Attester.</t>
  <t>Connect the Attester to a specific context within a Relying Party. <!-- Henk: execution environment? GP says Trusted or Regular EE, today, so EE would make sense? (response) Eric: No, because you can also connect to a VRF--></t>
  <t>Apply policies on the connection to or from the Attester (e.g., rate limits).</t>
</list></t>

<t>There are three categories of information which must be conveyed to the Relying Party 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 connection.</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" title="Non-repudiable Identity">

<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.
At minimum, a Relying Party MUST able to verify the identity of a Verifier it chooses to trust.
This Identity Evidence will often consist of a Verifier signature aross the Attestation Results; and this signature could only have come from a key pair maintained by a trusted developer or operator of the Verifier.
Also at minimum for connectivity related relationships, each set of Attestation Results must be provably and non-reputably bound to the identity of the specific Attesting Environment.</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.
In this case a Relying Party will simply connect to any device successfully appraised and verified by a Verifier.
However where the Appraisal Policy for Attestation Results is more nuanced, the Relying Party may need additional information.
Some Identity Evidence related 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 hardware rooted 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="verifier" title="Verifier">

<t>For the Verifier identity, it is important to review the chain of trust <!-- Henk(old): term not introduced, will have to introduce beforehand --> 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 <!-- Henk(old): more the reason to introduce the term -->.</t>

</section>
<section anchor="attesting-environment" title="Attesting Environment">

<t>For the Attesting Environment identity, there MUST 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 identities may be founded. 
Example attested identities may include:</t>

<t><list style="symbols">
  <t>a type of hardware chip used for the Attesting Environment</t>
  <t>a specific instance of a running Attesting Environment</t>
  <t>a software build executing within an Attesting Environment</t>
  <t>the developer(s) responsible for the code executing within an Attesting Environment</t>
</list></t>

<t>This document only defines the domain of the first of these four identities.
The reason the first is especially important in this document’s context is that each type of hardware chip might support a different set of Trustworthiness Claims.
Consequently, the Relying Party might require Identity Evidence which indicates of the type of hardware chip when it considers its Appraisal Policy for Attestation Results.
For more see <xref target="claim-for-TEE-types"/>. <!-- Henk: 2-4 later, because missing --></t>

</section>
<section anchor="attester" title="Attester">

<t>Per <xref target="I-D.ietf-rats-architecture"/> Section 3.3, an Attester and a corresponding Attesting Environment might not share common boundaries.
In such cases, where connections are being established directly to an Attester but not to the Attesting Environment, the Verifier must include sufficient information in the Attestation Results to enable the Relying Party to have confidence that the Attester’s trustworthiness is represented by Trustworthiness Claims signed by the appropriate Attesting Environment.</t>

</section>
<section anchor="communicating-identity" title="Communicating Identity">

<t>Any of the above identities may be needed to be established by the Relying Party during the connectivity establishment process.</t>

<t>(text below needs work)</t>

<t>The mechanism for communicating the Attesting Environment identity (and if it is different, the Attester identity <!--Henk(old): there is a deterministic relationship here, see AuthSecID in interaction models -->) may be either implicit or explicit within an instance of Attestation Results.
An example of explicit communication would be to include the following Identity Evidence directly in 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 are signed using that key.
An example of implicit communication would be to include the following Identity Evidence: a signature which has been made across the Attestation Results.
It would be then up to the Relying Party’s Appraisal Policy for Attestation Results to verify that this signature could only have come from an entity having access to the associated private key.</t>

<t>Note that proving identity also requires some element of freshness be embedded within a signed portion of the Attestation Results.
This element of freshness significantly reduces the identity spoofing risks from a replay attack.</t>

</section>
</section>
<section anchor="vector-section" title="Trustworthiness Claims">

<section anchor="specific-claims" title="Specific Claims">
<t>A Verifier must be able to assert different aspects of Attester trustworthiness.
Therefore specific Claims of Verifier appraised trustworthiness have been defined in this section.
These are known as Trustworthiness Claims.
These Trustworthiness Claims may be either affirming (positive) or detracting (negative).
It is these Trustworthiness Claims which are asserted within the Attestation Results produced by a Verifier.
It is out of the scope of this document for the Verifier to provide proof or logic on how the assertion was derived.</t>

<t>Following are the set of Trustworthiness Claims defined within this document:</t>

<texttable>
      <ttcol align='left'>Trustworthiness Claim</ttcol>
      <ttcol align='left'>Definition</ttcol>
      <ttcol align='left'>+/-</ttcol>
      <c>hw-authentic</c>
      <c>A Verifier has appraised an Attester as having authentic hardware and firmware</c>
      <c>affirming</c>
      <c>hw-verification-fail</c>
      <c>A Verifier has appraised that an Attester has failed its hardware or firmware verification</c>
      <c>detracting</c>
      <c>hw-instance-recognized</c>
      <c>A Verifier has verified an Attesting Environment’s unique identity based on some hardware based private key signing</c>
      <c>affirming</c>
      <c>hw-instance-unknown</c>
      <c>A Verifier has attempted and failed to verify an Attesting Environment’s unique hardware protected identity</c>
      <c>detracting</c>
      <c>executables-verified</c>
      <c>A Verifier has appraised that an Attester has installed into runtime memory only a genuine set of approved files during and after boot</c>
      <c>affirming</c>
      <c>executables-fail</c>
      <c>A Verifier has appraised that an Attester has installed into runtime memory files other than approved files</c>
      <c>detracting</c>
      <c>file-system-anomaly</c>
      <c>A Verifier has found a file on an Attester which should not be present</c>
      <c>detracting</c>
      <c>config-secure</c>
      <c>A Verifier has appraised an Attester’s configuration, and has found no security issues</c>
      <c>affirming</c>
      <c>config-insecure</c>
      <c>A Verifier has appraised an Attester’s configuration, and has found security issues which should be addressed</c>
      <c>detracting</c>
      <c>runtime-confidential</c>
      <c>A Verifier has appraised that an Attester is opaque to the device operator. See O.RUNTIME_CONFIDENTIALITY from <xref target="GP-TEE-PP"/>.</c>
      <c>affirming</c>
      <c>isolation</c>
      <c>A Verifier has appraised an Attester has execution and storage space which is separated from the spaces of any other application or Attester. See O.TA_ISOLATION from <xref target="GP-TEE-PP"/>.</c>
      <c>affirming</c>
      <c>secure-storage</c>
      <c>A Verifier has appraised that an Attester has a Trusted Execution Environment which encrypts persistent storage using keys unavailable outside protected hardware.  Protections must meet the capabilities of <xref target="OMTP-ATE"/> Section 5, but need not be hardware tamper resistant.</c>
      <c>affirming</c>
      <c>source-data-integrity</c>
      <c>A Verifier has appraised that the Attester is operating upon data inputs from an external Attester having a Trustworthiness Vector with no less than the current Vector.</c>
      <c>affirming</c>
</texttable>

<t>Each type of Attesting Environment MUST be able to support one or more of the set of affirming Trustworthiness Claims listed above.
Additional Trustworthiness Claims may be defined in subsequent documents, but the goal is to minimize these Trustworthiness Claims to just Verifier appaisals which are directly actionable by the Relying Party.</t>

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

<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 affirming or detracting Claims.</t>

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

<t>Some Trustworthiness Claims are implicit based on the underlying type of Attesting Environment.
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.</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-confidential’.
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 for SGX, Trustzone, and TPMs can be seen in <xref target="claim-for-TEE-types"/>. (This is work in progress)</t>

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

<t>(Work needed in this Section. The intent is that all freshness mechanisms of <xref target="I-D.ietf-rats-architecture"/>, Section 20 will be supported.)
A Relying Party will care about the recentness of specific Trustworthiness Claims.  And a Relying Party will often track when there is an Expiry of Verifier Confidence for the Trustworthiness Vector itself.
With connectivity related Attestation Results, sometimes reboot will reset various Trustworthiness Claims.  In this case you don’t have to worry about seeing the reboot itself as connectivity reestablishment will refresh the recentness timers.</t>

</section>
</section>
<section anchor="connectivity-model" title="Connectivity Model">

<t>The establishment and maintenance of a connection between an Attester and a Relying Party will follow the Passport Model from Section 5.1 of <xref target="I-D.ietf-rats-architecture"/>.  <xref target="interactions"/> describes this flow of information using the time definitions described in <xref target="I-D.ietf-rats-architecture"/>.  Corresponding messages are passed within an authentication framework, such the EAP protocol <xref target="RFC5247"/> over TLS <xref target="RFC8446"/>.</t>

<figure title="Interaction Model" 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><xref target="interactions"/> assumes that some form of time interval tracking is possible between the Verifer PoF and Relying Party PoF. 
However, there is a simplified case that does not require a Relying Party’s PoF. 
In that second variant, the Relying Party trusts that the Attester cannot be meaningfully changed from the outside during that interval. 
Based on that assumption, the Relying Party PoF can be safely omitted.
In essence, the AR-augmented Evidence is replaced by the stand-alone Attestation Results.</t>

<t>In the first variant illustrated in <xref target="interactions"/>, a Verifier B is often implemented as a code module within the Relying Party.
In these cases, the role Relying Party and the role Verifier are collapsed in one entity.
As a result, the entity can appraise both the Attestation Result parts as well as the Evidence parts of AR-augmented Evidence to determine whether an Attester qualifies for connection to the Relying Party’s resources.
Appraisal policies define the conditions and prerequisites for when an Attester qualifies for connection.
In essence, an Attester has to be able to provide all of the mandatory affirming Trustworthiness Claims and none of the disqualifying detracting Trustworthiness Claims.</t>

<t>More details on each interaction step are as follows.
The numbers used 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 Verifer 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>Attestation Environment signing of a hash of the Attestation Results plus the proof-of-freshness from (3).  This 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.2) 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.2) matches (4.1)</t>
      <t>Use the identity of (2.1) to validate the signature of (4.2).</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 unbelieveable Trustworthiness Claims</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:  <list style="numbers">
      <t>Allow the information exchange from the Attester into a Relying Party context where the Verifier B appraised Trustworthiness Vector includes all the mandatory affirming Trustworthiness Claims, and none of the disqualifying detracting Trustworthiness Claims.</t>
      <t>Disallow any information exchange into a Relying Party context for which that Verifier B appraised Trustworthiness Vector 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.</t>

<t>Additionally, it will be common that each device on either side of a connection will want to attest the other.  This will be a process known as multual-attestation.   To support this, the process listed above may be run independently on each side of the connection.</t>

</section>
<section anchor="privacy-considerations" title="Privacy Considerations">

<t>Privacy Considerations Text</t>

</section>
<section anchor="security-considerations" title="Security Considerations">

<t>Security Considerations Text</t>

</section>
<section anchor="iana-considerations" title="IANA Considerations">

<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 initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<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 initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></author>
<date year='2017' month='May' />
<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 initials='H' surname='Birkholz' fullname='Henk Birkholz'>
    <organization />
</author>

<author initials='D' surname='Thaler' fullname='Dave Thaler'>
    <organization />
</author>

<author initials='M' surname='Richardson' fullname='Michael Richardson'>
    <organization />
</author>

<author initials='N' surname='Smith' fullname='Ned Smith'>
    <organization />
</author>

<author initials='W' surname='Pan' fullname='Wei Pan'>
    <organization />
</author>

<date month='December' day='8' year='2020' />

<abstract><t>In network protocol exchanges it is often the case that one entity requires believable evidence about the operational state of a remote peer.  Such evidence is typically conveyed as claims about the peer's software and hardware platform, and is subsequently appraised in order to assess the peer's trustworthiness.  The process of generating and appraising this kind of evidence is known as remote attestation.  This document describes an architecture for remote attestation procedures that generate, convey, and appraise evidence about a peer's operational state.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-rats-architecture-08' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-rats-architecture-08.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="RFC4949" target='https://www.rfc-editor.org/info/rfc4949'>
<front>
<title>Internet Security Glossary, Version 2</title>
<author initials='R.' surname='Shirey' fullname='R. Shirey'><organization /></author>
<date year='2007' month='August' />
<abstract><t>This Glossary provides definitions, abbreviations, and explanations of terminology for information system security. The 334 pages of entries offer recommendations to improve the comprehensibility of written material that is generated in the Internet Standards Process (RFC 2026). The recommendations follow the principles that such writing should (a) use the same term or definition whenever the same concept is mentioned; (b) use terms in their plainest, dictionary sense; (c) use terms that are already well-established in open publications; and (d) avoid terms that either favor a particular vendor or favor a particular technology or mechanism over other, competing techniques that already exist or could be developed.  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='FYI' value='36'/>
<seriesInfo name='RFC' value='4949'/>
<seriesInfo name='DOI' value='10.17487/RFC4949'/>
</reference>



<reference  anchor="RFC5247" target='https://www.rfc-editor.org/info/rfc5247'>
<front>
<title>Extensible Authentication Protocol (EAP) Key Management Framework</title>
<author initials='B.' surname='Aboba' fullname='B. Aboba'><organization /></author>
<author initials='D.' surname='Simon' fullname='D. Simon'><organization /></author>
<author initials='P.' surname='Eronen' fullname='P. Eronen'><organization /></author>
<date year='2008' month='August' />
<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 initials='E.' surname='Rescorla' fullname='E. Rescorla'><organization /></author>
<date year='2018' month='August' />
<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>


    </references>


<section anchor="claim-for-TEE-types" title="Supportable Trustworthiness Claims">

<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>
<section anchor="supportable-trustworthiness-claims-for-tpms" title="Supportable Trustworthiness Claims for TPMs">

<t>Following are Trustworthiness Claims which MAY be set for a TPM based Attester.</t>

<texttable>
      <ttcol align='left'>Trustworthiness Claim</ttcol>
      <ttcol align='left'>TPM</ttcol>
      <c>hw-authentic</c>
      <c>If PCR check ok from BIOS checks, through Master Boot Record configuration</c>
      <c>hw-verification-fail</c>
      <c>If PCR don’t check ok</c>
      <c>hw-instance-recognized</c>
      <c>Optional</c>
      <c>hw-instance-unknown</c>
      <c>Optional</c>
      <c>executables-verified</c>
      <c>If PCRs check for the static operating system, and for any tracked files subsequently loaded.</c>
      <c>executables-refuted</c>
      <c>If PCR checks fail for the static operating system, and for any tracked files subsequently loaded.</c>
      <c>file-system-anomaly</c>
      <c>Verifier evaluation of Attester reveals an unexpected file.</c>
      <c>config-secure</c>
      <c>Verifier evaluation of Attester reveals no configuration lines which expose the Attester to known security vulnerabilities.</c>
      <c>config-insecure</c>
      <c>Optional</c>
      <c>runtime-confidential</c>
      <c>TPMs do not provide a sufficient technology base for this claim.</c>
      <c>isolation</c>
      <c>This can be set only if no other applications are running on the Attester</c>
      <c>secure-storage</c>
      <c>Minimal secure storage space exists and is writeable by external applications.  This space would typically 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 hw-verification-fail) - push onto vector, go to Step 6
    else (if hw-authentic) - push onto vector
  (if not evaluated, or insufficient data to conclude: take no action)

Step 3: Appraise Attesting Environment identity
  (if hw-instance-recognized) - push onto vector
    else (if hw-instance-unknown) - push onto vector
  (if not evaluated, or insufficient data to conclude: take no action)

Step 4: Appraise executable loaded and filesystem integrity
  (if executables-verified) - push onto vector
     else (if executables-fail) - push onto vector, go to Step 6
  (if file-system-anomaly) - push onto vector, go to Step 6
  (if not evaluated, or insufficient data to conclude: take no action)
  
Step 5: Appraise all remaining Trustworthiness Claims and set as 
        appropriate.

Step 6: Assemble Attestation Results, and push to Attester 

End

]]></artwork></figure>

</section>
<section anchor="supportable-trustworthiness-claims-for-sgx-enclaves" title="Supportable Trustworthiness Claims for SGX Enclaves">

<texttable>
      <ttcol align='left'>Trustworthiness Claim</ttcol>
      <ttcol align='left'>SGX</ttcol>
      <c>hw-authentic</c>
      <c>Implicit in signature</c>
      <c>hw-verification-fail</c>
      <c>Implicit if signature not ok</c>
      <c>hw-instance-recognized</c>
      <c>Optional</c>
      <c>hw-instance-unknown</c>
      <c>Optional</c>
      <c>executables-verified</c>
      <c>Optional</c>
      <c>executables-refuted</c>
      <c>Optional</c>
      <c>file-system-anomaly</c>
      <c>Optional</c>
      <c>config-secure</c>
      <c>Optional</c>
      <c>config-insecure</c>
      <c>Optional</c>
      <c>runtime-confidential</c>
      <c>Implicit in signature</c>
      <c>isolation</c>
      <c>Implicit in signature</c>
      <c>secure-storage</c>
      <c>Implicit in signature</c>
</texttable>

</section>
<section anchor="supportable-trustworthiness-claims-for-trustzone" title="Supportable Trustworthiness Claims for TrustZone">

<texttable>
      <ttcol align='left'>Trustworthiness Claim</ttcol>
      <ttcol align='left'>TrustZone</ttcol>
      <c>hw-authentic</c>
      <c>Implicit in signature</c>
      <c>hw-verification-fail</c>
      <c>Implicit if signature not ok</c>
      <c>hw-instance-recognized</c>
      <c>?</c>
      <c>hw-instance-unknown</c>
      <c>?</c>
      <c>executables-verified</c>
      <c>Optional</c>
      <c>executables-refuted</c>
      <c>Optional</c>
      <c>file-system-anomaly</c>
      <c>Optional</c>
      <c>config-secure</c>
      <c>Optional</c>
      <c>config-insecure</c>
      <c>Optional</c>
      <c>runtime-confidential</c>
      <c>(?)</c>
      <c>isolation</c>
      <c>Implicit in signature</c>
      <c>secure-storage</c>
      <c>Implicit in signature</c>
</texttable>

</section>
<section anchor="some-issues-being-worked" title="Some issues being worked">

<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 Trustworthiness Claims such as “exectables verified”, there could be value in identifying a specific Appraisal Policy for Attestation Results applied.  One way this could be done would be a URI which identifies this policy.  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.</t>

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

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

<t>Guy Fedorkow</t>

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

</section>


  </back>

<!-- ##markdown-source:
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
+5+qLAHhMc4UxUj/BxVUfKOOewAA

-->

</rfc>

