<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-ear-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="EAR">EAT Attestation Results</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ear-03"/>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</email>
      </address>
    </author>
    <author initials="E." surname="Voit" fullname="Eric Voit">
      <organization>Cisco</organization>
      <address>
        <email>evoit@cisco.com</email>
      </address>
    </author>
    <author initials="S." surname="Trofimov" fullname="Sergei Trofimov">
      <organization>Arm Limited</organization>
      <address>
        <email>sergei.trofimov@arm.com</email>
      </address>
    </author>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization>Fraunhofer SIT</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@ietf.contact</email>
      </address>
    </author>
    <date year="2026" month="March" day="15"/>
    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS</workgroup>
    <keyword>EAT</keyword>
    <keyword>attestation result</keyword>
    <keyword>attestation verifier</keyword>
    <keyword>AR4SI</keyword>
    <abstract>
      <?line 72?>

<t>This document defines the EAT Attestation Result (EAR) message format.</t>
      <t>EAR is used by a verifier to encode the result of the appraisal over an
attester's evidence.
It embeds an AR4SI's "trustworthiness vector" to present a normalized view of
the evaluation results, thus easing the task of defining and computing
authorization policies by relying parties.
Alongside the trustworthiness vector, EAR provides contextual information bound
to the appraisal process.
This allows a relying party (or an auditor) to reconstruct the frame of
reference in which the trustworthiness vector was originally computed.
EAR supports simple devices with one attester as well as composite devices that
are made of multiple attesters, allowing the state of each attester to be
separately examined.
EAR can also accommodate registered and unregistered extensions.
It can be serialized and protected using either CWT or JWT.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://thomas-fossati.github.io/draft-ear/draft-fv-rats-ear.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-rats-ear/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Remote ATtestation ProcedureS Working Group mailing list (<eref target="mailto:rats@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rats/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/rats/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/thomas-fossati/draft-ear"/>.</t>
    </note>
  </front>
  <middle>
    <?line 91?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document defines the EAT <xref target="RFC9711"/> Attestation Result (EAR) message format.</t>
      <t>EAR is used by a verifier to encode the result of the appraisal over an
attester's evidence.
It embeds an AR4SI's "trustworthiness vector" <xref target="I-D.ietf-rats-ar4si"/> to present a
normalized view of the evaluation results, thus easing the task of defining and
computing authorization policies by relying parties.
Alongside the trustworthiness vector, EAR provides contextual information bound
to the appraisal process.
This allows a relying party (or an auditor) to reconstruct the frame of
reference in which the trustworthiness vector was originally computed.
EAR supports simple devices with one attester as well as composite devices that
are made of multiple attesters (see <xref section="3.3" sectionFormat="of" target="RFC9334"/>) allowing the
state of each attester to be separately examined.
EAR can also accommodate registered and unregistered extensions.
It can be serialized and protected using either CWT <xref target="RFC8392"/> or JWT <xref target="RFC7519"/>.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>This document uses terms and concepts defined by the RATS architecture.
For a complete glossary see <xref section="4" sectionFormat="of" target="RFC9334"/>.</t>
      <t>The terminology from CBOR <xref target="STD94"/>, CDDL <xref target="RFC8610"/> and COSE <xref target="STD96"/> applies;
in particular, CBOR diagnostic notation is defined in <xref section="8" sectionFormat="of" target="STD94"/>
and <xref section="G" sectionFormat="of" target="RFC8610"/>.</t>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
      <?line -18?>

</section>
    <section anchor="sec-ear">
      <name>EAT Attestation Result</name>
      <t>EAR is an EAT token which can be serialized as JWT <xref target="RFC7519"/> or CWT <xref target="RFC8392"/>.</t>
      <t>The EAR claims-set is as follows:</t>
      <figure anchor="fig-cddl-ear">
        <name>EAR (CDDL Definition)</name>
        <sourcecode type="cddl"><![CDATA[
;# import rfc9711 as eat
;# import ar4si as ar4si

EAR = {
  eat.profile-label => "tag:ietf.org,2026:rats/ear#03"
  ? status-label => ar4si.trustworthiness-tier
  eat.iat-claim-label => ~eat.time-int
  ? eat.exp-claim-label => ~eat.time-int
  verifier-id-label => ar4si.verifier-id
  ? raw-evidence-label => eat.binary-data
  eat.submods-label => { + text => EAR-appraisal }
  ? eat.nonce-label => eat.nonce-type
  * $$ear-extension
}

; EAR-specific claims
raw-evidence-label = eat.JC<"ear_raw_evidence", 1002>
verifier-id-label = eat.JC<"ear_verifier_id", 1004>
]]></sourcecode>
      </figure>
      <t>Where:</t>
      <dl>
        <dt><tt>eat_profile</tt> (mandatory)</dt>
        <dd>
          <t>The EAT profile (<xref section="6" sectionFormat="of" target="RFC9711"/>) associated with the EAR claims-set
and encodings defined by this document.
It <bcp14>MUST</bcp14> be the following tag URI (<xref target="RFC4151"/>)
<tt>tag:ietf.org,2026:rats/ear#03</tt>.</t>
        </dd>
        <dt><tt>ear.status</tt> (optional)</dt>
        <dd>
          <t>The overall appraisal status for the (composite) attester represented as one of the four trustworthiness tiers (<xref section="3.2" sectionFormat="of" target="I-D.ietf-rats-ar4si"/>).
The value of this claim <bcp14>MUST</bcp14> be set to a tier of no higher trust than the tier corresponding to the worst status claim across all EAR appraisal submods.
This claim exists to help Relying Parties easily determine the overall status of the appraisal without having to inspect each submod.</t>
        </dd>
        <dt><tt>iat</tt> (mandatory)</dt>
        <dd>
          <t>"Issued At" claim -- the time at which the EAR is issued.
See <xref section="4.1.6" sectionFormat="of" target="RFC7519"/> and <xref section="4.3.1" sectionFormat="of" target="RFC9711"/> for the EAT-specific encoding restrictions (i.e., disallowing the floating point representation).</t>
        </dd>
        <dt><tt>exp</tt> (optional)</dt>
        <dd>
          <t>"Expiration Time" claim -- the time at which the EAR expires and <bcp14>MUST NOT</bcp14> be accepted for processing.
See <xref section="4.1.4" sectionFormat="of" target="RFC7519"/>.
Similar to <tt>iat</tt>, an EAR token <bcp14>MUST NOT</bcp14> contain an <tt>exp</tt> claim in floating-point format.
Any recipient of a token with a floating-point format <tt>exp</tt> claim <bcp14>MUST</bcp14> consider it an error.</t>
        </dd>
        <dt><tt>ear_verifier_id</tt> (mandatory)</dt>
        <dd>
          <t>Identifying information about the appraising verifier.
See <xref section="3.3" sectionFormat="of" target="I-D.ietf-rats-ar4si"/> for further details on its structure and serialization.</t>
        </dd>
        <dt><tt>ear_raw_evidence</tt> (optional)</dt>
        <dd>
          <t>The unabridged evidence submitted for appraisal, including any signed
container/envelope.
This field may be consumed by other Verifiers in multi-stage verification
scenarios or by auditors.
There are privacy considerations associated with this claim.  See
<xref target="sec-priv-cons"/>.</t>
        </dd>
        <dt><tt>submods</tt> (mandatory)</dt>
        <dd>
          <t>A submodule map (<xref section="4.2.18" sectionFormat="of" target="RFC9711"/>) holding one <tt>EAR-appraisal</tt> for
each separately appraised attester.
The map <bcp14>MUST</bcp14> contain at least one entry.
For each appraised attester the verifier chooses a unique label.
For example, when evidence is in EAT format, the label could be constructed
from the associated EAT profile.
A verifier <bcp14>SHOULD</bcp14> publicly and permanently document its labelling scheme for
each supported evidence type, unless EAR payloads are produced and consumed
entirely within a private deployment.
See <xref target="sec-ear-appraisal"/> for the details about the contents of an
<tt>EAR-appraisal</tt>.</t>
        </dd>
        <dt><tt>eat_nonce</tt> (optional)</dt>
        <dd>
          <t>A user supplied nonce that is echoed by the verifier to provide freshness.
The nonce is a sequence of bytes between 8 and 64 bytes long. When serialized
as JWT, the nonce <bcp14>MUST</bcp14> be base64 encoded, resulting in a string between 12 and
88 bytes long.
See <xref section="4.1" sectionFormat="of" target="RFC9711"/>.</t>
        </dd>
        <dt><tt>$$ear-extension</tt> (optional)</dt>
        <dd>
          <t>Any registered or unregistered extension.
An EAR extension <bcp14>MUST</bcp14> be a map.
See <xref target="sec-extensions"/> for further details.</t>
        </dd>
      </dl>
      <section anchor="sec-ear-appraisal">
        <name>EAR Appraisal Claims</name>
        <figure anchor="fig-cddl-ear-appraisal">
          <name>EAR Appraisal Claims (CDDL Definition)</name>
          <sourcecode type="cddl"><![CDATA[
;# import ar4si as ar4si
;# import rfc9711 as eat

EAR-appraisal = {
  ? eat.profile-label => eat.general-uri / eat.general-oid
  status-label => ar4si.trustworthiness-tier
  ? trustworthiness-vector-label => ar4si.trustworthiness-vector
  ? appraisal-policy-ids-label => [ + text ]
  ? eat.nonce-label => eat.nonce-type
  * $$ear-appraisal-extension
}

status-label = eat.JC<"ear_status", 1000>
trustworthiness-vector-label = eat.JC<"ear_trustworthiness_vector", 1001>
appraisal-policy-ids-label = eat.JC<"ear_appraisal_policy_ids", 1003>
]]></sourcecode>
        </figure>
        <dl newline="true">
          <dt><tt>eat_profile</tt> (optional)</dt>
          <dd>
            <t>The EAT profile (<xref section="6" sectionFormat="of" target="RFC9711"/>) associated with the <tt>EAR-appraisal</tt> claims-set.
Note that if multiple <tt>EAR-appraisal</tt> submods exist within the same <tt>EAR</tt> token, they may all have different values for this claim.
If the <tt>EAR-appraisal</tt> contains extensions, this claim <bcp14>SHOULD</bcp14> be present unless the profile can be implied by other means (e.g., via the application context or outer protocol elements).</t>
          </dd>
          <dt><tt>ear_status</tt> (mandatory)</dt>
          <dd>
            <t>The overall appraisal status for this attester represented as one of the four
trustworthiness tiers (<xref section="3.2" sectionFormat="of" target="I-D.ietf-rats-ar4si"/>).
The value of this claim <bcp14>MUST</bcp14> be set to a tier of no higher trust than the tier
corresponding to the worst trustworthiness claim across the entire
trustworthiness vector.</t>
          </dd>
          <dt><tt>ear_trustworthiness_vector</tt> (optional)</dt>
          <dd>
            <t>The AR4SI trustworthiness vector providing the breakdown of the appraisal for
this attester.
See <xref section="3.1" sectionFormat="of" target="I-D.ietf-rats-ar4si"/> for the details.
This claim <bcp14>MUST</bcp14> be present unless the party requesting Evidence appraisal
explicitly asks for it to be dropped, e.g., via an API parameter or similar
arrangement.  Such consumer would therefore rely entirely on the semantics of
the <tt>ear_status</tt> claim.  This behaviour is <bcp14>NOT RECOMMENDED</bcp14> because of the
resulting loss of quality of the appraisal result.</t>
          </dd>
          <dt><tt>ear_appraisal_policy_ids</tt> (optional)</dt>
          <dd>
            <t>A list of one or more unique identifiers for appraisal policies used to evaluate the attestation results.
The order of the identifiers in the list represents the order in which the policies are applied, with those appearing earlier being applied first.
The list <bcp14>MUST NOT</bcp14> be empty.</t>
          </dd>
          <dt><tt>eat_nonce</tt> (optional)</dt>
          <dd>
            <t>The nonce extracted from Evidence corresponding to this appraisal record.
Note that this is entirely distinct from the nonce in <xref target="sec-ear"/>.
It reflects evidence freshness rather than attestation results freshness.
Specifically, it reflects the freshness of the evidence whose attestation results are contained in this appraisal record.
This is useful when the relying party is the challenger in the remote attestation protocol and needs to verify that the nonce in the supplied evidence matches, without having to parse the evidence format.
See also <xref section="4.1" sectionFormat="of" target="RFC9711"/>.</t>
          </dd>
          <dt><tt>$$ear-appraisal-extension</tt> (optional)</dt>
          <dd>
            <t>Any registered or unregistered extension.
An EAR appraisal extension <bcp14>MUST</bcp14> be a map.
See <xref target="sec-extensions"/> for further details.</t>
          </dd>
        </dl>
      </section>
      <section anchor="json-serialisation">
        <name>JSON Serialisation</name>
        <section anchor="examples">
          <name>Examples</name>
          <t>The example in <xref target="fig-ex-json-1"/> shows an EAR claims-set corresponding to a
"contraindicated" appraisal, meaning the verifier has found some problems with
the attester's state reported in the submitted evidence.
Specifically, the identified issue is related to unauthorized code or
configuration loaded in runtime memory (i.e., value 96 in the executables
category).
The appraisal is for a device with one attester labelled "PSA".  Note that in
case there is only one attester, the labelling can be freely chosen because
there is no ambiguity.</t>
          <figure anchor="fig-ex-json-1">
            <name>JSON claims-set: contraindicated appraisal</name>
            <sourcecode type="cbor-diag"><![CDATA[
{
  "eat_profile": "tag:ietf.org,2026:rats/ear#03",
  "iat": 1666529184,
  "ear_verifier_id": {
    "developer": "https://veraison-project.org",
    "build": "vts 0.0.1"
  },
  "ear_raw_evidence": "NzQ3MjY5NzM2NTYzNzQK",
  "submods": {
    "PSA": {
      "ear_status": "contraindicated",
      "ear_trustworthiness_vector": {
        "instance-identity": 2,
        "executables": 96,
        "hardware": 2
      },
      "ear_appraisal_policy_ids":
        [ "https://veraison.example/policy/1/60a0068d" ]
    }
  }
}
]]></sourcecode>
          </figure>
          <t>The breakdown of the trustworthiness vector is as follows:</t>
          <ul spacing="normal">
            <li>
              <t>Instance Identity (affirming): recognized and not compromised</t>
            </li>
            <li>
              <t>Configuration (warning): known vulnerabilities</t>
            </li>
            <li>
              <t>Executables (contraindicated): contraindicated run-time</t>
            </li>
            <li>
              <t>File System (none): no claim being made</t>
            </li>
            <li>
              <t>Hardware (affirming): genuine</t>
            </li>
            <li>
              <t>Runtime Opaque (none): no claim being made</t>
            </li>
            <li>
              <t>Storage Opaque (none): no claim being made</t>
            </li>
            <li>
              <t>Sourced Data (none): no claim being made</t>
            </li>
          </ul>
          <t>The example in <xref target="fig-ex-json-2"/> contains the appraisal for a composite device
with two attesters named "CCA Platform" and "CCA Realm" respectively.
Both attesters have either "affirming" or (implicit) "none" values in their
associated trustworthiness vectors.
Note that the "none" values can refer to either an AR4SI category that is
unapplicable for the specific attester (ideally, the applicability should be
specified by the evidence format itself), or to the genuine lack of information
at the attester site regarding the specific category.  For example, the
reference values for the "CCA Realm" executables (i.e., the confidential
computing workload) may not be known to the CCA platform verifier.
In such cases, it is up to the downstream entity (typically, the relying party)
to complete the partial appraisal.</t>
          <figure anchor="fig-ex-json-2">
            <name>JSON claims-set: simple affirming appraisal</name>
            <sourcecode type="cbor-diag"><![CDATA[
{
  "eat_profile": "tag:ietf.org,2026:rats/ear#03",
  "iat": 1666529300,
  "ear_verifier_id": {
    "developer": "https://veraison-project.org",
    "build": "vts 0.0.1"
  },
  "ear_raw_evidence": "NzQ3MjY5NzM2NTYzNzQKNzQ3MjY5NzM2NTYzNzQK",
  "submods": {
    "CCA Platform": {
      "ear_status": "affirming",
      "ear_trustworthiness_vector": {
        "instance-identity": 2,
        "executables": 2,
        "hardware": 2
      },
      "ear_appraisal_policy_ids":
        [ "https://veraison.example/policy/1/60a0068d" ]
    },
    "CCA Realm": {
      "ear_status": "affirming",
      "ear_trustworthiness_vector": {
        "instance-identity": 2
      },
      "ear_appraisal_policy_ids":
        [ "https://veraison.example/policy/1/60a0068d" ]
    }
  }
}
]]></sourcecode>
          </figure>
        </section>
      </section>
      <section anchor="cbor-serialisation">
        <name>CBOR Serialisation</name>
        <section anchor="examples-1">
          <name>Examples</name>
          <t>The example in <xref target="fig-ex-cbor-1"/> is semantically equivalent to that in
<xref target="fig-ex-json-1"/>.  It shows the same "contraindicated" appraisal using the
more compact CBOR serialization of the EAR claims-set.</t>
          <figure anchor="fig-ex-cbor-1">
            <name>CBOR claims-set: contraindicated appraisal</name>
            <sourcecode type="cbor-diag"><![CDATA[
{
  265: "tag:ietf.org,2026:rats/ear#03",
  6: 1666529184,
  1004: {
    0: "https://veraison-project.org",
    1: "vts 0.0.1"
  },
  1002: h'6C696665626F61746D616E',
  266: {
    "PSA": {
      1000: 96,
      1001: {
        0: 2,
        2: 96,
        4: 2
      },
      1003: [ "https://veraison.example/policy/1/60a0068d" ]
    }
  }
}
]]></sourcecode>
          </figure>
        </section>
      </section>
    </section>
    <section anchor="sec-extensions">
      <name>EAR Extensions</name>
      <t>EAR provides core semantics for describing the result of appraising attestation
evidence.
However, a given application may offer extra functionality to its relying
parties, or tailor the attestation result to the needs of the application (e.g.,
TEEP <xref target="I-D.ietf-teep-protocol"/>).
To accommodate such cases, both <tt>EAR</tt> and <tt>EAR-appraisal</tt> claims-sets can be
extended by plugging new claims into the <tt>$$ear-extension</tt> (or
<tt>$$ear-appraisal-extension</tt>, respectively) CDDL socket.</t>
      <t>The rules that govern extensibility of EAR are those defined in <xref target="RFC8392"/> and
<xref target="RFC7519"/> for CWTs and JWTs respectively.</t>
      <t>An extension <bcp14>MUST NOT</bcp14> change the semantics of the <tt>EAR</tt> and <tt>EAR-appraisal</tt>
claims-sets.</t>
      <t>A receiver <bcp14>MUST</bcp14> ignore any unknown claim.</t>
      <section anchor="unregistered-claims">
        <name>Unregistered claims</name>
        <t>An application-specific extension will normally mint its claim from the "private
space" - using integer values less than -65536 for CWT, and Public or
Private Claim Names as defined in Sections <xref target="RFC7519" section="4.2" sectionFormat="bare"/> and <xref target="RFC7519" section="4.3" sectionFormat="bare"/> of <xref target="RFC7519"/> when
serializing to JWT.</t>
        <t>It is <bcp14>RECOMMENDED</bcp14> that JWT EARs use Collision-Resistant Public Claim Names
(<xref section="2" sectionFormat="of" target="RFC7519"/>) rather than Private Claim Names.</t>
      </section>
      <section anchor="sec-registered-claims">
        <name>Registered claims</name>
        <t>If an extension will be used across multiple applications, or is intended to be
used across multiple environments, the associated extension claims
<bcp14>SHOULD</bcp14> be registered in one, or both, the CWT and JWT claim registries.</t>
        <t>In general, if the registration policy requires an accompanying specification
document (as it is the case for "specification required" and "standards
action"), such document <bcp14>SHOULD</bcp14> explicitly say that the extension is expected to
be used in EAR claims-sets identified by this profile.</t>
        <t>An up-to-date view of the registered claims can be obtained via the
<xref target="IANA.cwt"/> and <xref target="IANA.jwt"/> registries.</t>
      </section>
      <section anchor="choosing-between-registered-and-unregistered-claims">
        <name>Choosing between registered and unregistered claims</name>
        <t>If an extension supports functionality of a specific application (e.g.
Project Veraison Services), its claims <bcp14>MAY</bcp14> be registered.</t>
        <t>If an extension supports a protocol that may be applicable across multiple
applications or environments (e.g., TEEP), its claims <bcp14>SHOULD</bcp14> be registered.</t>
        <t>Since, in general, there is no guarantee that an application will be confined
within an environment, it is <bcp14>RECOMMENDED</bcp14> that extension claims that have
meaning outside the application's context are always registered.</t>
        <t>It is also possible that claims that start out as application-specific acquire
a more stable meaning over time. In such cases, it is <bcp14>RECOMMENDED</bcp14> that new
equivalent claims are created in the "public space" and are registered as
described in <xref target="sec-registered-claims"/>. The original "private space" claims
<bcp14>SHOULD</bcp14> then be deprecated by the application.</t>
      </section>
      <section anchor="sec-extensions-teep">
        <name>TEEP Extension</name>
        <t>The TEEP protocol <xref target="I-D.ietf-teep-protocol"/> specifies the required claims that an attestation
result must carry for a TAM (Trusted Application Manager) to make decisions on
how to remediate a TEE (Trusted Execution Environment) that is out of
compliance, or update a TEE that is requesting an authorized change.</t>
        <t>The list is provided in <xref section="4.3.1" sectionFormat="of" target="I-D.ietf-teep-protocol"/>.</t>
        <t>EAR defines a TEEP application extension for the purpose of conveying such claims.</t>
        <figure anchor="fig-cddl-teep">
          <name>TEEP Extension (CDDL Definition)</name>
          <sourcecode type="cddl"><![CDATA[
;# import rfc9711 as eat
;# import rfc9393

$$ear-appraisal-extension //= (
  ear.teep-claims-label => ear-teep-claims
)

ear-teep-claims = non-empty<{
  ? eat.nonce-label => eat.nonce-type
  ? eat.ueid-label => eat.ueid-type
  ? eat.oemid-label => eat.oemid-pen / eat.oemid-ieee / eat.oemid-random
  ? eat.hardware-model-label => eat.hardware-model-type
  ? eat.hardware-version-label => eat.hardware-version-type
  ? eat.manifests-label => eat.manifests-type
}>

ear.teep-claims-label = eat.JC<"ear_teep_claims", 65000>
]]></sourcecode>
        </figure>
        <section anchor="json-serialization-example">
          <name>JSON Serialization Example</name>
          <sourcecode type="cddl"><![CDATA[
{
  "eat_profile": "tag:ietf.org,2026:rats/ear#03",
  "iat": 1666529184,
  "ear_verifier_id": {
    "developer": "https://veraison-project.org",
    "build": "vts 0.0.1"
  },
  "ear_raw_evidence": "NzQ3MjY5NzM2NTYzNzQK",
  "submods": {
    "PSA": {
      "ear_status": "contraindicated",
      "ear_trustworthiness_vector": {
        "instance-identity": 2,
        "executables": 96,
        "hardware": 2
      },
      "ear_appraisal_policy_ids":
        [ "https://veraison.example/policy/1/60a0068d" ],
      "ear_teep_claims": {
        "eat_nonce": "80FH7byS7VjfARIq0_KLqu6B9j-F79QtV6p",
        "ueid": "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAh",
        "oemid": "Av8B",
        "hwmodel": "fJYq",
        "hwversion": ["1.2.5", 16384]
      }
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="cbor-serialization-example">
          <name>CBOR Serialization Example</name>
          <sourcecode type="cddl"><![CDATA[
{
  265: "tag:ietf.org,2026:rats/ear#03",
  6: 1666529184,
  1004: {
    0: "https://veraison-project.org",
    1: "vts 0.0.1"
  },
  1002: h'6C696665626F61746D616E',
  266: {
    "PSA": {
      1000: 0,
      1001: {
        0: 2,
        1: 2,
        2: 2,
        4: 2
      },
      1003: [ "https://veraison.example/policy/1/60a0068d" ],
      65000: {
        10: h'948f8860d13a463e',
        256: h'0198f50a4ff6c05861c8860d13a638ea',
        258: 64242,
        259: h'ee80f5a66c1fb9742999a8fdab930893',
        260: ["1.2.5", 16384]
      }
    }
  }
}
]]></sourcecode>
        </section>
      </section>
      <section anchor="sec-extensions-veraison">
        <name>Project Veraison Extensions</name>
        <t>The Project Veraison verifier defines three private, application-specific
extensions:</t>
        <dl newline="true">
          <dt><tt>ear_veraison_annotated_evidence</tt></dt>
          <dd>
            <t>JSON representation of the evidence claims-set, including any annotations
provided by the Project Veraison verifier.
There are privacy considerations associated with this claim.  See
<xref target="sec-priv-cons"/>.</t>
          </dd>
          <dt><tt>ear_veraison_policy_claims</tt></dt>
          <dd>
            <t>any extra claims added by the policy engine in the Project Veraison verifier.</t>
          </dd>
          <dt><tt>ear_veraison_key_attestation</tt></dt>
          <dd>
            <t>contains the public key part of a successfully verified attested key.
The key is a DER encoded ASN.1 SubjectPublicKeyInfo structure (<xref section="4.1.2.7" sectionFormat="of" target="RFC5280"/>).</t>
          </dd>
        </dl>
        <figure anchor="fig-cddl-veraison">
          <name>Project Veraison Extensions (CDDL Definition)</name>
          <sourcecode type="cddl"><![CDATA[
;# import rfc9711 as eat

$$ear-appraisal-extension //= (
  ear.veraison.annotated-evidence-label => ear-veraison-annotated-evidence
)

ear-veraison-annotated-evidence = {
  + text => any
}

$$ear-appraisal-extension //= (
  ear.veraison.policy-claims-label => ear-veraison-policy-claims
)

ear-veraison-policy-claims = {
  + text => any
}

$$ear-appraisal-extension //= (
  ear.veraison.key-attestation-label => ear-veraison-key-attestation
)

ear-veraison-key-attestation = {
  "akpub" => eat.binary-data
}

ear.veraison.annotated-evidence-label = eat.JC<"ear_veraison_annotated_evidence", -70000>
ear.veraison.policy-claims-label = eat.JC<"ear_veraison_policy_claims", -70001>
ear.veraison.key-attestation-label = eat.JC<"ear_veraison_key_attestation", -70002>
]]></sourcecode>
        </figure>
        <section anchor="json-serialization-examples">
          <name>JSON Serialization Examples</name>
          <sourcecode type="cbor-diag"><![CDATA[
{
  "eat_profile": "tag:ietf.org,2026:rats/ear#03",
  "iat": 1666529184,
  "ear_verifier_id": {
    "developer": "https://veraison-project.org",
    "build": "vts 0.0.1"
  },
  "ear_raw_evidence": "NzQ3MjY5NzM2NTYzNzQK",
  "submods": {
    "PSA_IOT": {
      "ear_status": "contraindicated",
      "ear_trustworthiness_vector": {
        "instance-identity": 2,
        "executables": 96,
        "hardware": 2
      },
      "ear_appraisal_policy_ids":
        [ "https://veraison.example/policy/1/60a0068d" ],
      "ear_veraison_annotated_evidence": {
        "eat-profile": "http://arm.com/psa/2.0.0",
        "psa-client-id": 1,
        "psa-security-lifecycle": 12288,
        "psa-implementation-id":
          "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA=",
        "psa-software-components": [
          {
            "measurement-value":
              "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA=",
            "signer-id":
              "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA="
          },
          {
            "measurement-value":
              "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA=",
            "signer-id":
              "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA="
          }
        ],
        "psa-nonce":
          "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA=",
        "psa-instance-id":
          "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAh",
        "psa-certification-reference": "1234567890123-12345"
      },
      "ear_veraison_policy_claims": {
        "psa-certified": {
          "certificate-number": "1234567890123-12345",
          "date-of-issue": "23/06/2022",
          "test-lab": "Riscure",
          "certification-holder": "ACME Inc.",
          "certified-product": "RoadRunner",
          "hardware-version": "Gizmo v1.0.2",
          "software-version": "TrustedFirmware-M v1.0.6",
          "certification-type": "PSA Certified Level 1 v2.1",
          "developer-type": "PSA Certified – Device"
        }
      }
    }
  }
}
]]></sourcecode>
          <sourcecode type="cbor-diag"><![CDATA[
{
  "eat_profile": "tag:ietf.org,2026:rats/ear#03",
  "iat": 1666529184,
  "ear_verifier_id": {
    "developer": "https://veraison-project.org",
    "build": "vts 0.0.1"
  },
  "ear_raw_evidence": "NzQ3MjY5NzM2NTYzNzQK",
  "submods": {
    "PARSEC_TPM": {
      "ear_status": "affirming",
      "ear_trustworthiness_vector": {
        "instance-identity": 2,
        "executables": 2,
        "hardware": 2
      },
      "ear_appraisal_policy_ids":
        [ "https://veraison.example/policy/1/60a0068d" ],
      "ear_veraison_key_attestation": {
        "akpub":
          "MFkwEwYHKoZIzj0CAQYIKoZIz___"
      }
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="cbor-serialization-example-1">
          <name>CBOR Serialization Example</name>
          <sourcecode type="cbor-diag"><![CDATA[
{
  265: "tag:ietf.org,2026:rats/ear#03",
  6: 1666529184,
  1004: {
    0: "https://veraison-project.org",
    1: "vts 0.0.1"
  },
  1002: h'6C696665626F61746D616E',
  266: {
    "PSA_IOT": {
      1000: 0,
      1001: {
        0: 2,
        1: 2,
        2: 2,
        4: 2
      },
      1003: [ "https://veraison.example/policy/1/60a0068d" ],
      -70000: {
        "eat-profile": "http://arm.com/psa/2.0.0",
        "psa-client-id": 1,
        "psa-security-lifecycle": 12288,
        "psa-implementation-id":
          "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA=",
        "psa-software-components": [
          {
            "measurement-value":
              "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA=",
            "signer-id":
              "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA="
          },
          {
            "measurement-value":
              "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA=",
            "signer-id":
              "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA="
          }
        ],
        "psa-nonce":
          "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA=",
        "psa-instance-id":
          "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAh",
        "psa-certification-reference": "1234567890123-12345"
      },
      -70001: {
        "psa-certified": {
          "certificate-number": "1234567890123-12345",
          "date-of-issue": "23/06/2022",
          "test-lab": "Riscure",
          "certification-holder": "ACME Inc.",
          "certified-product": "RoadRunner",
          "hardware-version": "Gizmo v1.0.2",
          "software-version": "TrustedFirmware-M v1.0.6",
          "certification-type": "PSA Certified Level 1 v2.1",
          "developer-type": "PSA Certified – Device"
        }
      }
    }
  }
}
]]></sourcecode>
        </section>
      </section>
    </section>
    <section anchor="media-types">
      <name>Media Types</name>
      <t>Media types for EAR are automatically derived from the base EAT media type
<xref target="RFC9782"/> using the profile string defined in <xref target="sec-ear"/>.</t>
      <t>For example, a JWT serialization would use:</t>
      <artwork><![CDATA[
application/eat-jwt; eat_profile="tag:ietf.org,2026:rats/ear#03"
]]></artwork>
      <t>A CWT serialization would instead use:</t>
      <artwork><![CDATA[
application/eat-cwt; eat_profile="tag:ietf.org,2026:rats/ear#03"
]]></artwork>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>This section records the status of known implementations of the protocol
defined by this specification at the time of posting of this Internet-Draft,
and is based on a proposal described in <xref target="RFC7942"/>.
The description of implementations in this section is intended to assist the
IETF in its decision processes in progressing drafts to RFCs.
Please note that the listing of any individual implementation here does not
imply endorsement by the IETF.
Furthermore, no effort has been spent to verify the information presented here
that was supplied by IETF contributors.
This is not intended as, and must not be construed to be, a catalog of
available implementations or their features.
Readers are advised to note that other implementations may exist.</t>
      <t>According to <xref target="RFC7942"/>, "this will allow reviewers and working groups to
assign due consideration to documents that have the benefit of running code,
which may serve as evidence of valuable experimentation and feedback that have
made the implemented protocols more mature.
It is up to the individual working groups to use this information as they see
fit".</t>
      <section anchor="project-veraison">
        <name>Project Veraison</name>
        <t>The organization responsible for this implementation is Project Veraison, a
Linux Foundation project hosted at the Confidential Computing Consortium.</t>
        <t>The organization currently provides two separate implementations: one in Golang
another in C17.</t>
        <t>The developers can be contacted on the Zulip channel:
<eref target="https://veraison.zulipchat.com/#narrow/stream/357929-EAR/"/>.</t>
        <section anchor="githubcomveraisonear">
          <name><tt>github.com/veraison/ear</tt></name>
          <t>The software, hosted at <eref target="https://github.com/veraison/ear"/>, provides a Golang
package that allows encoding, decoding, signing and verification of EAR
payloads together with a CLI (<tt>arc</tt>) to create, verify and visualize EARs on
the command line.
The maturity level is currently alpha, and only the JWT serialization is
implemented.
The license is Apache 2.0.
The package is used by the Project Veraison verifier to produce attestation
results.</t>
        </section>
        <section anchor="githubcomveraisonc-ear">
          <name><tt>github.com/veraison/c-ear</tt></name>
          <t>The software, hosted at <eref target="https://github.com/veraison/c-ear"/>, provides a C17
library that allows verification and partial decoding of EAR payloads.
The maturity level is currently pre-alpha, and only the JWT serialization is
implemented.
The license is Apache 2.0.
The library targets relying party applications that need to verify attestation
results.</t>
        </section>
        <section anchor="githubcomveraisonrust-ear">
          <name><tt>github.com/veraison/rust-ear</tt></name>
          <t>The software, hosted at <eref target="https://github.com/veraison/rust-ear"/>, provides a
Rust (2021 edition) library that allows verification and partial decoding of
EAR payloads. The maturity level is currently pre-alpha, with limitted
algorithm support.  Both JWT and COSE serializations are implemented.  The
license is Apache 2.0.  The library targets verifiers that need to produce
attestation results as well as relying party applications that need to verify
and consume attestation results.</t>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="sec-priv-cons">
      <name>Privacy Considerations</name>
      <t>EAR is designed to expose as little identifying information as possible about
the attester.
However, certain EAR claims have direct privacy implications.
Implementations should therefore allow applying privacy-preserving techniques
to those claims, for example allowing their redaction, anonymisation or
outright removal.
Specifically:</t>
      <ul spacing="normal">
        <li>
          <t>It <bcp14>SHOULD</bcp14> be possible to disable inclusion of the optional <tt>ear_raw_evidence</tt>
claim</t>
        </li>
        <li>
          <t>It <bcp14>SHOULD</bcp14> be possible to disable inclusion of the optional
<tt>ear_veraison_annotated_evidence</tt> claim</t>
        </li>
        <li>
          <t>It <bcp14>SHOULD</bcp14> be possible to allow redaction, anonymisation or removal of
specific claims from the <tt>ear_veraison_annotated_evidence</tt> object</t>
        </li>
      </ul>
      <t>EAR is an EAT, therefore the privacy considerations in <xref section="8" sectionFormat="of" target="RFC9711"/>
apply.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="sec-iana-ear-claims">
        <name>New EAT Claims</name>
        <t>This specification adds the following values to the "JSON Web Token Claims"
registry <xref target="IANA.jwt"/> and the "CBOR Web Token Claims" registry <xref target="IANA.cwt"/>.</t>
        <t>Each entry below is an addition to both registries.</t>
        <t>The "Claim Description", "Change Controller" and "Specification Documents" are
common and equivalent for the JWT and CWT registries.
The "Claim Key" and "Claim Value Types(s)" are for the CWT registry only.
The "Claim Name" is as defined for the CWT registry, not the JWT registry.
The "JWT Claim Name" is equivalent to the "Claim Name" in the JWT registry.</t>
        <section anchor="ear-status">
          <name>EAR Status</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: ear_status</t>
            </li>
            <li>
              <t>Claim Description: EAR Status</t>
            </li>
            <li>
              <t>JWT Claim Name: ear_status</t>
            </li>
            <li>
              <t>Claim Key: 1000 (suggested)</t>
            </li>
            <li>
              <t>Claim Value Type(s): unsigned integer (0, 2, 32, 96)</t>
            </li>
            <li>
              <t>Change Controller: IESG</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-ear-appraisal"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="trustworthiness-vector">
          <name>Trustworthiness Vector</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: ear_trustworthiness_vector</t>
            </li>
            <li>
              <t>Claim Description: EAR Trustworthiness Vector</t>
            </li>
            <li>
              <t>JWT Claim Name: ear_trustworthiness_vector</t>
            </li>
            <li>
              <t>Claim Key: 1001 (suggested)</t>
            </li>
            <li>
              <t>Claim Value Type(s): map</t>
            </li>
            <li>
              <t>Change Controller: IESG</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-ear-appraisal"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="ear-raw-evidence">
          <name>EAR Raw Evidence</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: ear_raw_evidence</t>
            </li>
            <li>
              <t>Claim Description: EAR Raw Evidence</t>
            </li>
            <li>
              <t>JWT Claim Name: ear_raw_evidence</t>
            </li>
            <li>
              <t>Claim Key: 1002 (suggested)</t>
            </li>
            <li>
              <t>Claim Value Type(s): bytes</t>
            </li>
            <li>
              <t>Change Controller: IESG</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-ear"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="ear-appraisal-policy-identifier">
          <name>EAR Appraisal Policy Identifier</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: ear_appraisal_policy_ids</t>
            </li>
            <li>
              <t>Claim Description: EAR Appraisal Policy Identifiers</t>
            </li>
            <li>
              <t>JWT Claim Name: ear_appraisal_policy_ids</t>
            </li>
            <li>
              <t>Claim Key: 1003 (suggested)</t>
            </li>
            <li>
              <t>Claim Value Type(s): array</t>
            </li>
            <li>
              <t>Change Controller: IESG</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-ear-appraisal"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="verifier-software-identifier">
          <name>Verifier Software Identifier</name>
          <ul spacing="normal">
            <li>
              <t>Claim Name: ear_verifier_id</t>
            </li>
            <li>
              <t>Claim Description: AR4SI Verifier Software Identifier</t>
            </li>
            <li>
              <t>JWT Claim Name: ear_verifier_id</t>
            </li>
            <li>
              <t>Claim Key: 1004 (suggested)</t>
            </li>
            <li>
              <t>Claim Value Type(s): map</t>
            </li>
            <li>
              <t>Change Controller: IESG</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="sec-ear"/> of RFCthis</t>
            </li>
          </ul>
        </section>
        <section anchor="ear-teep-claims">
          <name>EAR TEEP Claims</name>
          <t>TODO</t>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7519">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <reference anchor="RFC8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="STD94">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="STD96">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="I-D.ietf-rats-ar4si">
          <front>
            <title>Attestation Results for Secure Interactions</title>
            <author fullname="Eric Voit" initials="E." surname="Voit">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Thomas Hardjono" initials="T." surname="Hardjono">
              <organization>MIT</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Vincent Scarlata" initials="V." surname="Scarlata">
              <organization>Intel</organization>
            </author>
            <date day="15" month="August" year="2025"/>
            <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.

   This document also defines two serialisations of the proposed
   information model, utilising CBOR and JSON.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ar4si-09"/>
        </reference>
        <reference anchor="RFC9711">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
            <author fullname="G. Mandyam" initials="G." surname="Mandyam"/>
            <author fullname="J. O'Donoghue" initials="J." surname="O'Donoghue"/>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <date month="April" year="2025"/>
            <abstract>
              <t>An Entity Attestation Token (EAT) provides an attested claims set that describes the state and characteristics of an entity, a device such as a smartphone, an Internet of Things (IoT) device, network equipment, or such. This claims set is used by a relying party, server, or service to determine the type and degree of trust placed in the entity.</t>
              <t>An EAT is either a CBOR Web Token (CWT) or a JSON Web Token (JWT) with attestation-oriented claims.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9711"/>
          <seriesInfo name="DOI" value="10.17487/RFC9711"/>
        </reference>
        <reference anchor="I-D.ietf-teep-protocol">
          <front>
            <title>Trusted Execution Environment Provisioning (TEEP) Protocol</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Mingliang Pei" initials="M." surname="Pei">
              <organization>Broadcom</organization>
            </author>
            <author fullname="Dave Wheeler" initials="D. M." surname="Wheeler">
              <organization>Amazon</organization>
            </author>
            <author fullname="Dave Thaler" initials="D." surname="Thaler">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Akira Tsukamoto" initials="A." surname="Tsukamoto">
              <organization>Openchip &amp; Software Technologies, S.L.</organization>
            </author>
            <date day="26" month="February" year="2026"/>
            <abstract>
              <t>   This document specifies the Trusted Execution Environment
   Provisioning (TEEP) Protocol, which enables secure lifecycle
   management of Trusted Components in devices with a Trusted Execution
   Environment (TEE).  The protocol defines message exchanges between a
   Trusted Application Manager (TAM) and a TEEP Agent to query device
   state, convey attestation evidence, and install, update, or delete
   Trusted Components.  Messages are encoded in CBOR and secured using
   COSE.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teep-protocol-26"/>
        </reference>
        <reference anchor="RFC9782">
          <front>
            <title>Entity Attestation Token (EAT) Media Types</title>
            <author fullname="L. Lundblade" initials="L." surname="Lundblade"/>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="May" year="2025"/>
            <abstract>
              <t>The payloads used in Remote ATtestation procedureS (RATS) may require an associated media type for their conveyance, for example, when the payloads are used in RESTful APIs.</t>
              <t>This memo defines media types to be used for Entity Attestation Tokens (EATs).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9782"/>
          <seriesInfo name="DOI" value="10.17487/RFC9782"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC4151">
          <front>
            <title>The 'tag' URI Scheme</title>
            <author fullname="T. Kindberg" initials="T." surname="Kindberg"/>
            <author fullname="S. Hawke" initials="S." surname="Hawke"/>
            <date month="October" year="2005"/>
            <abstract>
              <t>This document describes the "tag" Uniform Resource Identifier (URI) scheme. Tag URIs (also known as "tags") are designed to be unique across space and time while being tractable to humans. They are distinct from most other URIs in that they have no authoritative resolution mechanism. A tag may be used purely as an entity identifier. Furthermore, using tags has some advantages over the common practice of using "http" URIs as identifiers for non-HTTP-accessible resources. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4151"/>
          <seriesInfo name="DOI" value="10.17487/RFC4151"/>
        </reference>
        <reference anchor="IANA.cwt" target="https://www.iana.org/assignments/cwt">
          <front>
            <title>CBOR Web Token (CWT) Claims</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.jwt" target="https://www.iana.org/assignments/jwt">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
      </references>
    </references>
    <?line 965?>

<section anchor="common-cddl-types">
      <name>Common CDDL Types</name>
      <dl newline="true">
        <dt><tt>non-empty</tt></dt>
        <dd>
          <t>A CDDL generic that can be used to ensure the presence of at least one item
in an object with only optional fields.</t>
        </dd>
      </dl>
      <sourcecode type="cddl"><![CDATA[
non-empty<M> = (M) .within ({ + any => any })
]]></sourcecode>
    </section>
    <section anchor="open-policy-agent-example">
      <name>Open Policy Agent Example</name>
      <t>Open Policy Agent <eref target="https://www.openpolicyagent.org">OPA</eref> is a popular and
flexible policy engine that is used in a variety of contexts, from cloud to
IoT.  OPA policies are written using a purpose-built, declarative programming
language called
<eref target="https://www.openpolicyagent.org/docs/latest/policy-language/">Rego</eref>.  Rego has
been designed to handle JSON claim-sets and their JWT envelopes as first class
objects, which makes it an excellent fit for dealing with JWT EARs.</t>
      <t>The following example illustrates an OPA policy that a Relying Party would use
to make decisions based on a JWT EAR received from a trusted verifier.</t>
      <sourcecode type="rego"><![CDATA[
package ear

ear_appraisal = {
    "verified": signature_verified,
    "appraisal-status": status,
    "trustworthiness-vector": trust_vector,
} {
    # verify EAR signature is correct and from one of the known and
    # trusted verifiers
    signature_verified := io.jwt.verify_es256(
        input.ear_token,
        json.marshal(input.trusted_verifiers)
    )

    # extract the EAR claims-set
    [_, payload, _] := io.jwt.decode(input.ear_token)

    # access the attester-specific appraisal record
    app_rec := payload.submods.PARSEC_TPM
    status := app_rec["ear_status"] == "affirming"

    # extract the trustworhiness vector for further inspection
    trust_vector := app_rec["ear_trustworthiness_vector"]
}

# add further conditions on the trust_vector here
# ...
]]></sourcecode>
      <t>The result of the policy appraisal is the following JSON object:</t>
      <sourcecode type="json"><![CDATA[
{
    "ear_appraisal": {
        "appraisal-status": true,
        "trustworthiness-vector": {
            "executables": 2,
            "hardware": 2,
            "instance-identity": 2
        },
        "verified": true
    }
}
]]></sourcecode>
      <t>For completeness, the trusted verifier public key and the EAR JWT used in the
example are provided below.</t>
      <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================
{
    "ear_token": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJlYXIucmF3L\
WV2aWRlbmNlIjoiTnpRM01qWTVOek0yTlRZek56UUsiLCJlYXIudmVyaWZpZXItaWQiO\
nsiYnVpbGQiOiJ2dHMgMC4wLjEiLCJkZXZlbG9wZXIiOiJodHRwczovL3ZlcmFpc29uL\
XByb2plY3Qub3JnIn0sImVhdF9wcm9maWxlIjoidGFnOmdpdGh1Yi5jb20sMjAyMzp2Z\
XJhaXNvbi9lYXIiLCJpYXQiOjEuNjY2NTI5MTg0ZSswOSwianRpIjoiNTViOGIzZmFkO\
GRkMWQ4ZWFjNGU0OGYxMTdmZTUwOGIxMWY4NDRkOWYwMTg5YmZlZDliODc1MTVhNjc1N\
DI2NCIsIm5iZiI6MTY3NzI0Nzg3OSwic3VibW9kcyI6eyJQQVJTRUNfVFBNIjp7ImVhc\
i5hcHByYWlzYWwtcG9saWN5LWlkIjoiaHR0cHM6Ly92ZXJhaXNvbi5leGFtcGxlL3Bvb\
GljeS8xLzYwYTAwNjhkIiwiZWFyLnN0YXR1cyI6ImFmZmlybWluZyIsImVhci50cnVzd\
HdvcnRoaW5lc3MtdmVjdG9yIjp7ImV4ZWN1dGFibGVzIjoyLCJoYXJkd2FyZSI6Miwia\
W5zdGFuY2UtaWRlbnRpdHkiOjJ9LCJlYXIudmVyYWlzb24ua2V5LWF0dGVzdGF0aW9uI\
jp7ImFrcHViIjoiTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFY2pTc\
DhfTVdNM2d5OFR1Z1dPMVRwUVNqX3ZJa3NMcEMtZzhsNVMzbHBHYjdQV1dHb0NBakVQO\
F9BNTlWWndMWGd3b1p6TjBXeHVCUGpwYVdpV3NmQ1EifX19fQ.3Ym-f1LEgamxePUM7h\
6Y2RJDGh9eeL0xKor0n1wE9jdAnLNwm3rTKFV2S2LbqVFoDtK9QGalT2t5RnUdfwZNmg\
",
    "trusted_verifiers": {
        "keys": [
            {
                "alg": "ES256",
                "crv": "P-256",
                "kty": "EC",
                "x": "usWxHK2PmfnHKwXPS54m0kTcGJ90UiglWiGahtagnv8",
                "y": "IBOL-C3BttVivg-lSreASjpkttcsz-1rb7btKLv8EX4"
            }
        ]
    }
}
]]></artwork>
    </section>
    <section anchor="open-issues">
      <name>Open Issues</name>
      <t><cref>Note to RFC Editor: please remove before publication.</cref></t>
      <t>The list of currently open issues for this documents can be found at
<eref target="https://github.com/thomas-fossati/draft-ear/issues"/>.</t>
    </section>
    <section anchor="document-history">
      <name>Document History</name>
      <t><cref>Note to RFC Editor: please remove before publication.</cref></t>
      <section anchor="draft-fv-rats-ear-00">
        <name>draft-fv-rats-ear-00</name>
        <t>Initial release.</t>
      </section>
      <section anchor="draft-fv-rats-ear-01">
        <name>draft-fv-rats-ear-01</name>
        <ul spacing="normal">
          <li>
            <t>privacy considerations</t>
          </li>
          <li>
            <t>OPA policy example</t>
          </li>
          <li>
            <t>add rust-ear crate to the implementation status section</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-fv-rats-ear-02">
        <name>draft-fv-rats-ear-02</name>
        <ul spacing="normal">
          <li>
            <t>align JWT and CWT representations of eat_nonce</t>
          </li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Many thanks to
Dave Thaler,
Greg Kostal,
Simon Frost,
Yogesh Deshpande
for helpful comments and discussions that have shaped this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
nw9mpttP7MULM9mtbKV6//PVVs2q0urbdRjQw+4mXSxN/EgG3U94zeMZenDp
qDZWj1ZHWH4GiR6YDtmesXq9LmX0YFL8frfiy1xF5bzvSuJFCgt5UkxUYSnm
yfFUIQ1umWfwaM5I/XiUawrpOI9mA+YSHkpePVWnL5cBZAoBBFJlGKjsAjy9
17UpEdBqhmmD/cz7YdppRw5AuaXVEh72poEm+ekqdd8OXXQpuawX+f+wAtXe
Fvvux+/oRAHUE2CWglwwZ39/h20+77ZYodMLc4OIkzDHQixeTYYHtnvqvtp/
d99rnri9uOf3N+ydXqd3E74/33nVrUMj7/J9b2ZP99tHP1oX5y1+0feG0xOv
dx24Az/sHzeaP18Mzk/FTWMx8PpX4maj8+5d7B7tyJ7O9HzBL67Cq/e9hF+8
dU9/tMCrvPTPw+HBW5y85Rwej4931udH13vY6+bq/ZU3POjOoQe+D5zD/ty+
D26P2lcewBHare4MYHn/cjFshd5l++1s2H7l9/xG3JueT5z97tyedqf84o5g
dA72/dOpEzoHk+alu3E9bDXi4+vtxfF92LqCUV5N+PuT26HbRWhx/vDyPcB1
vTc7ub5snQx6G8eDcePqLJ6fns1d7vdDHPVkcO6eHvTur6b7N7Cig/7N8cXb
9auL/euTg3eN04PLu+OBM70avJtDq7vji8v1k93+zenF5RxG27icXnlXu557
ums3jwfnk5Nru3nyo7Xba53swCZMN9wrt9c5Hly2T+57jZP7cRvnttvn7vCi
e2Mveh3Yl7dvz18N+u9ORuf7L0961+FzXL39o+VuTOzDl4vLC+/+8mKe2Afd
mF+cbBxdeDcIOT/sN+zD487Rotu6Sle/4YmDfWh75x21X94OYUXetTjbvDu6
v5xfDrbnJ9eTm547d2GFiyP/pHH5vt9EOHrT/enV1FsML7zZ1aJHO2C7Gw3b
P793frQOnVvb7wf8YsOz28cJ0MK1c9BdKGgBXydN2B93eHB+D7AtAPvB5ftX
N05rf3F1BhiAGTlQ3cY9tJpdtt4lRH2wB87hDezRq65JZbjiYWt9xlvnsNr9
hgOjQr8Gv+jOej9aNOd+ZB+eu0S7764ip3Hevng3ORo2w1diGszfNvb7F++8
9Hd/b79/2ej3rxr7+5etcADY3Z2MBufOyXHL2Tjd7zevms6b4/P+/N35yc/v
21evePvk2N47Tq7uJ/HJ+fH98PDl4eW18/a86RwOGycv+c35W6CX/e7Lk4F3
ceE7xxcHThvm6wyuX74Xh+c77w7C+eW5E563T6Zvm3vu6H2zO3pbb19Oa6Pm
0d6YT+/Em3fHzyc/Wp3LVv/V7sGkK8RR4+51EDX85nyve+1s+0cn82k7Grze
P2+dtY6GP5/vB7vJ6+7bA+4NWslG33/njOZXJ9Pxj1bFNFtMZZ6X4CDJimmf
xVRJKem9MUqXvTOwKgq5jvTejm4pw6v2yPsbEsyVvZ2yl3f4ahZf3B2+br2Z
jvzD1/P3b8421qeNm4F98KrbeOeOvQv3gE8SPvZvN8vGoOF7L0+Pajvtl0ly
7t6Oa95ZJLbPrsObJLHj+1ozGj4fJq+Pbjf33q9XckMYuZV5vaBcHvrWLPiA
39uRGP0gS1pTbg7bo29bbrFQZuhQSBxTMihuLdWFLCD0/Rr1NYreoNuSHoah
3yC/u2B8ASrL+NCfJaDvQPDEKj/rSybBlMe1URBjkH6NsojQwV2TA9MBfuoD
s0MAIogWv82qwGOW041ua5gzRlGIRgOrybl0ThgJGqv+WNMmBh7Kg/zwwnAw
lHKFh2gm6VNNZlMWhU43yad7KOtPZWk9BkELIQAnaOwX4tbmrXvKVktLciA+
t2202sEdHNNWgbcvE06F86Iy4l4sKmDTHaMfjeUHbyjNZxePwwZgcgtwGQ7A
j2GvAwDSq+JXdgHg/Qh+Vq3LYCziCYZaJiGAI6wRWXxeiF+RwUgD0QYC6mAO
ahxnx4104AZGfYiOZP4r2/8PPXVmkD+PAAA=

-->

</rfc>
