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


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

]>


<rfc ipr="trust200902" docName="draft-nikolaichuk-rats-tap-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Trusted Artifact Provenance (TAP)">Trusted Artifact Provenance (TAP): A Producer, Verifier, and Sealer Contract for Attestation-Gated Reconstruction of Stateful Assets</title>

    <author initials="S." surname="Nikolaichuk" fullname="Serhii Nikolaichuk">
      <organization>Independent</organization>
      <address>
        <postal>
          <city>Austin</city>
          <region>TX</region>
          <country>United States of America</country>
        </postal>
        <email>nikolaichuk.s.f@gmail.com</email>
      </address>
    </author>

    <date/>

    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS (RATS)</workgroup>
    <keyword>remote attestation</keyword> <keyword>confidential computing</keyword> <keyword>trusted execution environment</keyword> <keyword>attestation-gated key release</keyword> <keyword>provenance</keyword> <keyword>transparency log</keyword>

    <abstract>


<?line 95?>

<t>The Remote ATtestation procedureS (RATS) architecture (RFC 9334) defines how
Evidence is conveyed from an Attester to a Verifier and how the resulting
Attestation Results are conveyed to a Relying Party. It deliberately stops at
the point where a Relying Party has appraised Attestation Results. This document
specifies Trusted Artifact Provenance (TAP), a consumer of Attestation Results
that defines what happens next in one specific and recurring case: releasing
sealed key material to a process that reconstructs a stateful asset inside an
attested environment, and recording the release decision as an auditable object.</t>

<t>TAP defines three contracts. The Producer contract governs how an artifact is
sealed and bound to the attested identity of the environment that produced it.
The Sealer contract governs the attestation-gated release of key material to a
reconstruction environment. The TAP Verifier contract governs after-the-fact
appraisal of provenance and release records. TAP does not define an appraisal
policy language, does not define a new Evidence format, and does not replace any
part of RFC 9334.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-nikolaichuk-rats-tap/"/>.
      </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>
    </note>


  </front>

  <middle>


<?line 114?>

<section anchor="introduction"><name>Introduction</name>

<t>Confidential computing deployments increasingly move data at rest between
Trusted Execution Environments (TEEs), across regions, and across cloud
providers. A common pattern is: seal an artifact inside an attested environment,
persist the sealed bytes on untrusted storage, and later reconstruct the asset
inside a different attested environment, releasing the key material only if that
environment's attested identity satisfies a policy.</t>

<t>The attestation half of that pattern is well covered. <xref target="RFC9334"/> defines the
roles, the conceptual messages, and the topological patterns; <xref target="RFC9711"/>
defines an Evidence and Attestation Results token format; <xref target="I-D.ietf-rats-ar4si"/>
and <xref target="I-D.ietf-rats-ear"/> define how Attestation Results express trustworthiness;
<xref target="I-D.ietf-rats-corim"/> and <xref target="I-D.ietf-rats-endorsements"/> cover Reference Values
and Endorsements. The RATS charter is explicit that appraisal policy formats are
out of scope for the working group.</t>

<t>The other half is not covered, and in practice each deployment reinvents it:</t>

<t><list style="numbers" type="1">
  <t>What is the object that gets released, and what is it bound to?</t>
  <t>What inputs <bcp14>MUST</bcp14> a release decision consider, beyond the Attestation Results
themselves?</t>
  <t>What durable, third-party-checkable record does the release decision leave
behind?</t>
</list></t>

<t>Deployments answer these questions with bespoke, undocumented glue. The
consequence is that an auditor who is handed a reconstructed asset has no
standard way to ask "which attested environment produced the sealed bytes, which
attested environment was permitted to reconstruct them, under which policy, and
who can check that claim independently."</t>

<t>This document specifies TAP: a small, deliberately narrow contract that answers
those three questions in RATS vocabulary, and nothing else.</t>

<section anchor="relationship-to-the-rats-architecture"><name>Relationship to the RATS Architecture</name>

<t>TAP is downstream of <xref target="RFC9334"/>. It is a consumer of Attestation Results, not a
producer of Evidence and not a substitute for a Verifier.</t>

<t>Concretely:</t>

<t><list style="symbols">
  <t>TAP does NOT define an Evidence format. Evidence remains whatever the TEE
family emits, conveyed by whatever means the deployment chooses (see
<xref target="I-D.ietf-rats-reference-interaction-models"/> and <xref target="RFC9999"/>).</t>
  <t>TAP does NOT define an Attestation Results format. It consumes one, and it
requires that the consumed Attestation Results be referenced by digest in the
record it emits.</t>
  <t>TAP does NOT define an Appraisal Policy for Evidence or an Appraisal Policy
for Attestation Results, nor a language for expressing either. This is
consistent with the RATS working group charter, which places both out of
scope. TAP constrains only the <em>inputs a release decision <bcp14>MUST</bcp14> consider</em> and
the <em>format of the record documenting the decision that was made</em>. A record of
a decision is not a policy.</t>
  <t>TAP DOES define what a Relying Party emits when it authorizes the release of
sealed material, so that the authorization is verifiable after the fact by an
entity that was not present when it happened.</t>
</list></t>

</section>
<section anchor="scope"><name>Scope</name>

<t>In scope:</t>

<t><list style="symbols">
  <t>The Sealed Artifact and its binding to a producing environment's attested
identity (the Provenance Record).</t>
  <t>The normative procedure a Sealer follows before releasing key material.</t>
  <t>The Release Record: a signed, log-committed statement of a release decision.</t>
  <t>Freshness requirements on the Evidence underlying a release decision.</t>
  <t>Rejection rules for environments whose measurements do not identify code
(notably debug-mode enclaves).</t>
</list></t>

<t>Out of scope:</t>

<t><list style="symbols">
  <t>Evidence formats, Evidence conveyance, and Verifier internals.</t>
  <t>Appraisal policy languages, for either appraisal stage.</t>
  <t>Trust anchor distribution and rotation.</t>
  <t>Key hierarchy design, key escrow, and key lifecycle beyond the release event.</t>
  <t>Whether a reconstructed asset is semantically or behaviorally equivalent to
the original. TAP is a provenance and authorization contract. It makes no
fidelity claim of any kind. See <xref target="sec-fidelity"/>.</t>
</list></t>

</section>
<section anchor="requirements-language"><name>Requirements Language</name>

<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="intellectual-property-notice"><name>Intellectual Property Notice</name>

<t>The author holds pending United States provisional patent applications whose
subject matter overlaps this document. An IPR disclosure has been or will be
filed with the IETF in accordance with BCP 78 and BCP 79 at or before the time
this document is submitted. This notice is informational; the operative record
is the disclosure on the IETF Datatracker, and the boilerplate in "Status of
This Memo" governs.</t>

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

<section anchor="terms-imported-from-rfc-9334"><name>Terms Imported from RFC 9334</name>

<t>This document uses the following terms exactly as defined in <xref target="RFC9334"/>, and
does not redefine, narrow, or extend any of them: Attester, Verifier, Relying
Party, Endorser, Reference Value Provider, Verifier Owner, Relying Party Owner,
Evidence, Endorsements, Reference Values, Attestation Results, Appraisal Policy
for Evidence, Appraisal Policy for Attestation Results, Attesting Environment,
Target Environment, Passport Model, Background-Check Model.</t>

<t>Where this document writes "Verifier" without qualification, the <xref target="RFC9334"/>
meaning is intended.</t>

</section>
<section anchor="terms-defined-by-this-document"><name>Terms Defined by This Document</name>

<dl>
  <dt>Artifact:</dt>
  <dd>
    <t>The stateful asset being sealed and later reconstructed. TAP treats an
Artifact as an opaque, ordered sequence of octets. Examples include model
weights, a database snapshot, and an index.</t>
  </dd>
  <dt>Sealed Artifact:</dt>
  <dd>
    <t>The ciphertext form of an Artifact, together with the metadata required to
locate its chunks and its Provenance Record. The Sealed Artifact is assumed to
reside on untrusted storage.</t>
  </dd>
  <dt>Data Encryption Key (DEK):</dt>
  <dd>
    <t>Symmetric key material that decrypts one or more chunks of a Sealed Artifact.</t>
  </dd>
  <dt>Producing Environment:</dt>
  <dd>
    <t>The environment in which an Artifact is sealed. It contains an Attesting
Environment and is an Attester in the sense of <xref target="RFC9334"/>.</t>
  </dd>
  <dt>Reconstruction Environment:</dt>
  <dd>
    <t>The environment in which a Sealed Artifact is decrypted and the Artifact is
reassembled. It is an Attester in the sense of <xref target="RFC9334"/>.</t>
  </dd>
  <dt>Reconstruction Process:</dt>
  <dd>
    <t>The code executing inside the Reconstruction Environment that consumes
released DEKs and produces the reconstructed Artifact. It is the Target
Environment whose measurement appears in the Evidence.</t>
  </dd>
  <dt>Provenance Record:</dt>
  <dd>
    <t>A signed statement binding an Artifact digest to the attested identity of the
Producing Environment, produced under the Producer contract (<xref target="sec-producer"/>).</t>
  </dd>
  <dt>Sealer:</dt>
  <dd>
    <t>The entity that holds, or can derive, DEKs and decides whether to release them
to a Reconstruction Environment. A Sealer is a Relying Party in the sense of
<xref target="RFC9334"/>.</t>
  </dd>
  <dt>TAP Verifier:</dt>
  <dd>
    <t>The entity that appraises Provenance Records and Release Records after the
fact. A TAP Verifier is a Relying Party in the sense of <xref target="RFC9334"/>, operating
in an audit posture rather than an authorization posture.</t>
  </dd>
  <dt>Release Decision:</dt>
  <dd>
    <t>The permit-or-deny outcome the Sealer reaches for one request to reconstruct
one Artifact in one Reconstruction Environment.</t>
  </dd>
  <dt>Release Record:</dt>
  <dd>
    <t>The signed, log-committed object documenting a Release Decision
(<xref target="sec-release-record"/>).</t>
  </dd>
  <dt>Release Log:</dt>
  <dd>
    <t>An append-only log to which Release Records are committed
(<xref target="sec-release-log"/>).</t>
  </dd>
</dl>

</section>
<section anchor="sec-naming"><name>A Note on the Name "Verifier"</name>

<t>The three contract names in this document -- Producer, Verifier, and Sealer --
are inherited from the implementation that motivated it. "Verifier" collides
with the <xref target="RFC9334"/> role of the same name, which is a different entity doing a
different job.</t>

<t>To avoid ambiguity, this document:</t>

<t><list style="symbols">
  <t>always writes the TAP role as "TAP Verifier", never as bare "Verifier";</t>
  <t>reserves unqualified "Verifier" for the <xref target="RFC9334"/> meaning; and</t>
  <t>states the mapping of every TAP entity onto an <xref target="RFC9334"/> role in
<xref target="sec-role-mapping"/>.</t>
</list></t>

<t>The author considers this collision a defect in the naming rather than in the
architecture, and solicits working group guidance on renaming the TAP role
(candidates considered: "Auditor", "Provenance Verifier", "Attestor of Record").
See <xref target="sec-open-issues"/>.</t>

</section>
</section>
<section anchor="architecture"><name>Architecture</name>

<section anchor="overview"><name>Overview</name>

<figure title="TAP entities and their relationship to RFC 9334 roles" anchor="fig-arch"><artset><artwork  type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="544" width="576" viewBox="0 0 576 544" class="aasvg">

<path d="M 8,64L 8,144"/>
<path d="M 8,208L 8,240"/>
<path d="M 40,96L 40,118.81765"/>
<path d="M 192,64L 192,144"/>
<path d="M 192,208L 192,240"/>
<path d="M 328,304L 328,368"/>
<path d="M 328,416L 328,448"/>
<path d="M 328,496L 328,528"/>
<path d="M 344,64L 344,144"/>
<path d="M 384,89.18235L 384,144"/>
<path d="M 384,208L 384,256"/>
<path d="M 400,272L 400,296"/>
<path d="M 432,368L 432,384"/>
<path d="M 448,456L 448,494.81765"/>
<path d="M 456,208L 456,256"/>
<path d="M 528,264L 528,302.81765"/>
<path d="M 552,304L 552,368"/>
<path d="M 552,416L 552,448"/>
<path d="M 552,496L 552,528"/>
<path d="M 560,64L 560,96"/>
<path d="M 568,112L 568,144"/>
<path d="M 568,208L 568,256"/>
<path d="M 8,64L 192,64"/>
<path d="M 344,64L 560,64"/>
<path d="M 8,144L 88,144"/>
<path d="M 104,144L 192,144"/>
<path d="M 344,144L 376,144"/>
<path d="M 392,144L 504,144"/>
<path d="M 520,144L 568,144"/>
<path d="M 8,208L 192,208"/>
<path d="M 456,208L 568,208"/>
<path d="M 200,224L 224,224"/>
<path d="M 328,224L 384,224"/>
<path d="M 8,240L 192,240"/>
<path d="M 456,256L 504,256"/>
<path d="M 520,256L 568,256"/>
<path d="M 328,304L 376,304"/>
<path d="M 392,304L 552,304"/>
<path d="M 328,368L 424,368"/>
<path d="M 440,368L 552,368"/>
<path d="M 328,416L 552,416"/>
<path d="M 328,448L 424,448"/>
<path d="M 440,448L 552,448"/>
<path d="M 328,496L 552,496"/>
<path d="M 328,528L 552,528"/>
<polygon class="arrowhead" points="528,304 533.6,292 522.4,292"/>
<polygon class="arrowhead" points="448,496 453.6,484 442.4,484"/>
<polygon class="arrowhead" points="384,88 378.4,100 389.6,100"/>
<polygon class="arrowhead" points="40,120 45.6,108 34.4,108"/>
<g class="text">
<text x="40" y="36">Producing</text>
<text x="128" y="36">Environment</text>
<text x="396" y="36">Reconstruction</text>
<text x="504" y="36">Environment</text>
<text x="40" y="52">(RATS</text>
<text x="104" y="52">Attester)</text>
<text x="376" y="52">(RATS</text>
<text x="440" y="52">Attester)</text>
<text x="52" y="84">Artifact</text>
<text x="412" y="84">Reconstruction</text>
<text x="504" y="84">Process</text>
<text x="92" y="116">Producer</text>
<text x="412" y="116">DEKs</text>
<text x="36" y="132">Seal</text>
<text x="64" y="132">+</text>
<text x="116" y="132">Provenance</text>
<text x="96" y="148">|</text>
<text x="512" y="148">|</text>
<text x="112" y="164">|</text>
<text x="400" y="164">|</text>
<text x="528" y="164">|</text>
<text x="96" y="180">|</text>
<text x="132" y="180">Sealed</text>
<text x="196" y="180">Artifact</text>
<text x="368" y="180">|</text>
<text x="480" y="180">|</text>
<text x="524" y="180">Evidence</text>
<text x="112" y="196">v</text>
<text x="400" y="196">|</text>
<text x="528" y="196">v</text>
<text x="56" y="228">Untrusted</text>
<text x="128" y="228">storage</text>
<text x="276" y="228">ciphertext</text>
<text x="500" y="228">Verifier</text>
<text x="484" y="244">(RFC</text>
<text x="528" y="244">9334)</text>
<text x="512" y="260">|</text>
<text x="384" y="308">|</text>
<text x="364" y="324">Sealer</text>
<text x="428" y="324">(Relying</text>
<text x="492" y="324">Party)</text>
<text x="380" y="340">appraise</text>
<text x="464" y="340">Attestation</text>
<text x="380" y="356">Results;</text>
<text x="448" y="356">decide;</text>
<text x="512" y="356">release</text>
<text x="472" y="388">Release</text>
<text x="532" y="388">Record</text>
<text x="448" y="404">v</text>
<text x="368" y="436">Release</text>
<text x="416" y="436">Log</text>
<text x="488" y="436">(append-only)</text>
<text x="432" y="452">|</text>
<text x="352" y="516">TAP</text>
<text x="404" y="516">Verifier</text>
<text x="472" y="516">(audit)</text>
</g>
</svg>
</artwork><artwork  type="ascii-art"><![CDATA[
Producing Environment                     Reconstruction Environment
  (RATS Attester)                           (RATS Attester)
+----------------------+                  +--------------------------+
| Artifact             |                  | Reconstruction Process   |
|   |                  |                  |    ^                     |
|   v  Producer        |                  |    | DEKs                 |
| Seal + Provenance    |                  |    |                      |
+----------|-----------+                  +----|---------------|------+
             |                                   |               |
           | Sealed Artifact                 |             | Evidence
             v                                   |               v
+----------------------+                       |        +-------------+
| Untrusted storage    |---- ciphertext -------+        | Verifier    |
+----------------------+                       |        | (RFC 9334)  |
                                               |        +------|------+
                                                 |               |
                                                 |               v
                                        +------|--------------------+
                                        | Sealer (Relying Party)    |
                                        |  appraise Attestation     |
                                        |  Results; decide; release |
                                        +------------|--------------+
                                                     | Release Record
                                                       v
                                        +---------------------------+
                                        | Release Log (append-only) |
                                        +------------|--------------+
                                                       |
                                                       v
                                        +---------------------------+
                                        | TAP Verifier (audit)      |
                                        +---------------------------+
]]></artwork></artset></figure>

<t>The left half of <xref target="fig-arch"/> is the Producer contract. The right half is the
Sealer contract. The bottom is the TAP Verifier contract. The box labelled
"Verifier (RFC 9334)" is not defined by this document; TAP consumes its output.</t>

</section>
<section anchor="sec-role-mapping"><name>Mapping to RFC 9334 Roles</name>

<texttable title="TAP entities mapped onto RFC 9334 roles" anchor="tab-roles">
      <ttcol align='left'>TAP entity</ttcol>
      <ttcol align='left'>RFC 9334 role</ttcol>
      <ttcol align='left'>Conceptual message it handles</ttcol>
      <c>Producing Environment</c>
      <c>Attester</c>
      <c>produces Evidence</c>
      <c>Reconstruction Environment</c>
      <c>Attester</c>
      <c>produces Evidence</c>
      <c>Sealer</c>
      <c>Relying Party</c>
      <c>consumes Attestation Results</c>
      <c>TAP Verifier</c>
      <c>Relying Party</c>
      <c>consumes Attestation Results (historical)</c>
      <c>(not defined here)</c>
      <c>Verifier</c>
      <c>Evidence to Attestation Results</c>
      <c>(not defined here)</c>
      <c>Endorser, Reference Value Provider</c>
      <c>Endorsements, Reference Values</c>
</texttable>

<t>A single deployment <bcp14>MAY</bcp14> collocate the Sealer and the Verifier in one process.
Collocation does not merge the roles: the appraisal of Evidence and the decision
to release key material remain distinct steps with distinct policies, and a
conformant implementation <bcp14>MUST</bcp14> be able to emit the Attestation Results digest
that the Release Record references (<xref target="sec-release-record"/>).</t>

</section>
<section anchor="topological-patterns"><name>Topological Patterns</name>

<t>TAP is compatible with both patterns of <xref target="RFC9334"/> Section 5.</t>

<dl>
  <dt>Background-Check Model:</dt>
  <dd>
    <t>The Reconstruction Environment presents Evidence to the Sealer, which forwards
it to a Verifier and receives Attestation Results. This is the model exercised
by the implementation described in <xref target="sec-impl"/>.</t>
  </dd>
  <dt>Passport Model:</dt>
  <dd>
    <t>The Reconstruction Environment obtains Attestation Results from a Verifier and
presents them to the Sealer. In this model the freshness requirements of
<xref target="sec-freshness"/> apply to the Evidence underlying the Attestation Results, not
to the presentation of the Attestation Results, and the Sealer <bcp14>MUST</bcp14> be able to
establish that the Attestation Results describe the environment that is
presenting them.</t>
  </dd>
</dl>

</section>
<section anchor="what-tap-adds"><name>What TAP Adds</name>

<t>Relative to <xref target="RFC9334"/>, TAP adds exactly two things:</t>

<t><list style="numbers" type="1">
  <t><strong>A defined consequence of a successful appraisal.</strong> Appraisal succeeding is
not, by itself, an action. TAP names the action -- release of DEKs to a
Reconstruction Process -- and constrains it.</t>
  <t><strong>The decision as an object.</strong> The Release Record makes the authorization
itself durable and third-party-checkable, rather than an ephemeral branch in
a Relying Party's code. This is structurally similar to the receipt concept in
<xref target="RFC9943"/>, and a deployment <bcp14>MAY</bcp14> use a SCITT transparency service as its
Release Log; see <xref target="sec-release-log"/>.</t>
</list></t>

</section>
</section>
<section anchor="objects"><name>Objects</name>

<t>All objects defined in this section are encoded as CBOR <xref target="RFC8949"/> and
described in CDDL <xref target="RFC8610"/>. All signed objects are COSE_Sign1 structures
<xref target="RFC9052"/> using algorithms from <xref target="RFC9053"/>.</t>

<t>The following common productions are used throughout.</t>

<figure><sourcecode type="cddl"><![CDATA[
; digest; alg id from the COSE Algorithms registry
; together with the digest value.
digest = [ alg: int, value: bstr ]

; An opaque, deployment-scoped identifier.
opaque-id = bstr .size (8..64)

; An untagged epoch-based date/time as defined by the CBOR prelude.
timestamp = ~time
]]></sourcecode></figure>

<section anchor="sec-provenance-record"><name>Provenance Record</name>

<t>A Provenance Record binds an Artifact to the attested identity of the
environment that sealed it.</t>

<figure><sourcecode type="cddl"><![CDATA[
provenance-record = {
  version:            1,
  artifact-id:        opaque-id,
  artifact-digest:    digest,
  chunk-digests:      [ + digest ],
  producer-identity:  environment-identity,
  ? evidence-ref:     digest,
  ? ar-ref:           ar-reference,
  sealed-at:          timestamp,
  ? aad-profile:      tstr,
}

environment-identity = {
  tee-family:      tstr,   ; "aws-nitro", "amd-sev-snp", ...
  measurement:     digest, ; measurement of the Target Env
  ? svn:           uint,   ; security version, if defined
  ? platform-id:   bstr,   ; see Section 11 on linkability
  debug-mode:      bool,
}
]]></sourcecode></figure>

<t>A Producer <bcp14>MUST</bcp14> populate <spanx style="verb">measurement</spanx> with the TEE's own measurement of the
Target Environment (for example PCR0 for AWS Nitro Enclaves, MRENCLAVE for Intel
SGX, the launch MEASUREMENT for AMD SEV-SNP). A Producer <bcp14>MUST</bcp14> populate
<spanx style="verb">debug-mode</spanx> truthfully. A Producer <bcp14>MUST NOT</bcp14> synthesize, truncate, or
re-hash the measurement into a different length or algorithm; if a TAP profile
requires a normalized length, the normalization <bcp14>MUST</bcp14> be specified in the
corresponding binding in <xref target="sec-bindings"/> and the original value <bcp14>MUST</bcp14> remain
recoverable from <spanx style="verb">evidence-ref</spanx>.</t>

<t><spanx style="verb">evidence-ref</spanx> and <spanx style="verb">ar-ref</spanx> are <bcp14>OPTIONAL</bcp14> because a Producing Environment does
not always have a Verifier available at sealing time. A Provenance Record
carrying neither is a self-asserted claim about the producing environment and
<bcp14>MUST</bcp14> be treated as such by a TAP Verifier (<xref target="sec-tap-verifier"/>).</t>

</section>
<section anchor="attestation-results-reference"><name>Attestation Results Reference</name>

<figure><sourcecode type="cddl"><![CDATA[
ar-reference = {
  ar-digest:      digest,
  ? ar-format:   tstr,     ; media type, e.g. EAT [RFC9782]
  ? verifier-id:  opaque-id,
  ? ar-issued-at: timestamp,
}
]]></sourcecode></figure>

<t><spanx style="verb">ar-format</spanx>, where present, carries the media type of the referenced
Attestation Results; for Entity Attestation Tokens the registered media types of
<xref target="RFC9782"/> apply.</t>

<t>TAP references Attestation Results by digest rather than embedding them. This
keeps the Release Record small and avoids duplicating whatever confidentiality
or privacy handling the Attestation Results are already subject to. A deployment
that needs the Attestation Results themselves to be auditable <bcp14>MUST</bcp14> arrange for
them to be retrievable by digest; TAP does not specify how.</t>

</section>
<section anchor="sec-release-record"><name>Release Record</name>

<figure><sourcecode type="cddl"><![CDATA[
release-record = {
  version:           1,
  request-id:        opaque-id,
  artifact-id:       opaque-id,
  artifact-digest:   digest,
  policy-id:         tstr,
  target-identity: environment-identity, ; Reconstruction Env
  ar:                ar-reference,
  freshness:         freshness-proof,
  decision:          decision,
  decided-at:        timestamp,
  released-dek-count: uint,
  ? deny-reason:     tstr,
  ? log-inclusion:   log-inclusion-proof,
}

decision = &(
  permit: 1
  deny:   2
  error:  3
)

freshness-proof = {
  method: freshness-method,
  ? nonce-digest: digest,  ; digest of Sealer challenge
  ? epoch-id:     bstr,
  ? evidence-time: timestamp,
}

freshness-method = &(
  nonce:     1
  epoch-id:  2
  timestamp: 3
)

log-inclusion-proof = {
  log-id:     opaque-id,
  tree-size:  uint,
  leaf-index: uint,
  path:       [ * bstr ],
}
]]></sourcecode></figure>

<t>A Sealer <bcp14>MUST</bcp14> emit a Release Record for every Release Decision, including
denials and errors. Emitting records only for permits produces a log that cannot
distinguish "no one asked" from "someone asked and was refused", which destroys
most of the audit value.</t>

<t>A Sealer <bcp14>MUST</bcp14> sign the Release Record as a COSE_Sign1 with a key whose
certificate chain or trust anchor is available to TAP Verifiers.</t>

<t><spanx style="verb">released-dek-count</spanx> <bcp14>MUST</bcp14> be zero when <spanx style="verb">decision</spanx> is <spanx style="verb">deny</spanx> or <spanx style="verb">error</spanx>.</t>

</section>
<section anchor="sec-release-log"><name>Release Log</name>

<t>Release Records <bcp14>MUST</bcp14> be committed to an append-only log before the corresponding
DEKs are transmitted. The log <bcp14>MUST</bcp14> provide inclusion proofs. The Merkle tree
construction of <xref target="RFC6962"/> is <bcp14>RECOMMENDED</bcp14>; <xref target="RFC9162"/> is a suitable successor
construction. A deployment <bcp14>MAY</bcp14> use a transparency service conforming to
<xref target="RFC9943"/> and <xref target="I-D.ietf-scitt-scrapi"/> as its Release Log, in which case the
transparency service's receipt <bcp14>SHOULD</bcp14> be carried in <spanx style="verb">log-inclusion</spanx>.</t>

<t>Committing before transmitting, rather than after, is the point of the
requirement. A Sealer that transmits first and logs afterwards can lose the
record of exactly the releases an attacker cares about.</t>

</section>
</section>
<section anchor="sec-producer"><name>The Producer Contract</name>

<t>A Producer <bcp14>MUST</bcp14>:</t>

<t><list style="numbers" type="1">
  <t>Seal each chunk of the Artifact with an AEAD construction <xref target="RFC5116"/>. The
Additional Authenticated Data <bcp14>MUST</bcp14> include the <spanx style="verb">artifact-id</spanx>, the chunk index,
and the total chunk count.</t>
  <t>Use a distinct AEAD nonce for every invocation under a given key. Two
invocations with the same key, plaintext, and AAD <bcp14>MUST NOT</bcp14> produce identical
ciphertext.</t>
  <t>Compute <spanx style="verb">artifact-digest</spanx> over the plaintext Artifact and <spanx style="verb">chunk-digests</spanx>
over the ciphertext chunks, so that a TAP Verifier can check chunk integrity
without holding any DEK.</t>
  <t>Emit a Provenance Record (<xref target="sec-provenance-record"/>) signed by a key held
inside the Producing Environment, and bind that key to the Producing
Environment's Evidence where the TEE family permits it (for example via the
public key field of an AWS Nitro attestation document, or REPORT_DATA for AMD
SEV-SNP).</t>
</list></t>

<t>A Producer <bcp14>SHOULD</bcp14> obtain Attestation Results for the Producing Environment at
sealing time and populate <spanx style="verb">ar-ref</spanx>. A Producer that cannot do so <bcp14>MUST</bcp14> leave
<spanx style="verb">ar-ref</spanx> absent rather than populating it with a self-assertion.</t>

<t>A Producer <bcp14>MUST NOT</bcp14> emit a Provenance Record with <spanx style="verb">debug-mode</spanx> set to false
when the underlying Evidence indicates a debug or unmeasured configuration. See
<xref target="sec-debug"/>.</t>

</section>
<section anchor="sec-sealer"><name>The Sealer Contract</name>

<section anchor="release-procedure"><name>Release Procedure</name>

<t>On receiving a request to release DEKs for an Artifact to a Reconstruction
Environment, a Sealer <bcp14>MUST</bcp14> perform the following steps, in order, and <bcp14>MUST</bcp14> abort
with a <spanx style="verb">deny</spanx> Release Record on the first failure:</t>

<t><list style="numbers" type="1">
  <t><strong>Establish freshness.</strong> Obtain Evidence that is fresh under
<xref target="sec-freshness"/>. In the Background-Check Model, the Sealer <bcp14>MUST</bcp14> supply the
challenge itself, or obtain it from an entity it trusts for that purpose.</t>
  <t><strong>Obtain Attestation Results.</strong> Convey the Evidence to a Verifier and obtain
Attestation Results. The Sealer <bcp14>MUST NOT</bcp14> appraise raw Evidence itself unless
it is also acting as a Verifier, in which case it <bcp14>MUST</bcp14> still produce
Attestation Results as a distinct, digestible object.</t>
  <t><strong>Check the Attestation Results are acceptable.</strong> Apply the deployment's
Appraisal Policy for Attestation Results. The policy language is out of
scope; the policy identifier <bcp14>MUST</bcp14> be recorded in <spanx style="verb">policy-id</spanx>.</t>
  <t><strong>Reject unmeasured environments.</strong> If the Attestation Results indicate that
the Reconstruction Environment is in a debug mode, or that its measurements do
not identify code, the Sealer <bcp14>MUST</bcp14> deny unless the deployment has explicitly
enabled debug acceptance for a non-production Artifact. See <xref target="sec-debug"/>.</t>
  <t><strong>Compare identities byte-wise.</strong> Any measurement comparison <bcp14>MUST</bcp14> be
byte-wise over the full value. Prefix matches, truncated comparisons, and
case-insensitive hex comparisons <bcp14>MUST NOT</bcp14> satisfy an identity constraint.</t>
  <t><strong>Bind the decision to the Artifact.</strong> The Sealer <bcp14>MUST</bcp14> confirm that the
<spanx style="verb">artifact-digest</spanx> in the request matches the <spanx style="verb">artifact-digest</spanx> in the
Artifact's Provenance Record. A Sealer <bcp14>MUST NOT</bcp14> release DEKs for an Artifact
whose Provenance Record it cannot locate or whose signature does not verify.</t>
  <t><strong>Emit and commit the Release Record.</strong> Construct the Release Record, sign
it, and commit it to the Release Log (<xref target="sec-release-log"/>). The Sealer <bcp14>MUST
NOT</bcp14> transmit any DEK before the log commitment has succeeded.</t>
  <t><strong>Release.</strong> Transmit the DEKs to the Reconstruction Environment over a
channel whose peer is cryptographically bound to the attested identity that
was appraised in step 3. Releasing to a channel that is merely
network-adjacent to the attested environment defeats the entire procedure;
see <xref target="sec-channel-binding"/>.</t>
</list></t>

<t>A Sealer <bcp14>MUST</bcp14> fail closed. Any error condition that leaves the Sealer unable to
complete a step -- including inability to reach the Verifier, inability to
commit to the Release Log, or an unparseable Provenance Record -- <bcp14>MUST</bcp14> result in
<spanx style="verb">deny</spanx> or <spanx style="verb">error</spanx>, never in release.</t>

</section>
<section anchor="scope-of-a-release"><name>Scope of a Release</name>

<t>A Release Decision authorizes one Reconstruction Environment to reconstruct one
Artifact. A Sealer <bcp14>MUST NOT</bcp14> treat a permit as authorization for:</t>

<t><list style="symbols">
  <t>a different Artifact,</t>
  <t>a subsequent reconstruction after the Reconstruction Environment has been
restarted or re-measured, or</t>
  <t>a different environment with the same measurement but different Evidence.</t>
</list></t>

<t>The third exclusion is deliberate. Identical measurements across two
environments mean identical code, not identical instances; without it, an
attacker who obtains one permit can replay it from an environment the Sealer
never appraised.</t>

</section>
</section>
<section anchor="sec-tap-verifier"><name>The TAP Verifier Contract</name>

<t>A TAP Verifier appraises the record trail after the fact. It <bcp14>MUST</bcp14> be able to
operate offline, with no access to the Sealer, the Verifier, or the
Reconstruction Environment.</t>

<t>Given a Sealed Artifact, its Provenance Record, and a set of Release Records, a
TAP Verifier <bcp14>MUST</bcp14>:</t>

<t><list style="numbers" type="1">
  <t>Verify the Provenance Record signature and, where <spanx style="verb">evidence-ref</spanx> is present
and the Evidence is available, verify that the Evidence supports the claimed
<spanx style="verb">producer-identity</spanx>.</t>
  <t>Verify the chunk digests in the Provenance Record against the Sealed Artifact
bytes.</t>
  <t>Verify each Release Record signature.</t>
  <t>Verify each Release Record's <spanx style="verb">log-inclusion</spanx> proof against the Release Log's
published root.</t>
  <t>Report, separately and without conflating them:
a. what the records assert,
b. which assertions are backed by verified signatures over hardware-rooted
   Evidence, and
c. which assertions are self-asserted or unverifiable with the material at
   hand.</t>
</list></t>

<t>Requirement 5 is normative and is the substance of this contract. A TAP Verifier
that returns a single boolean is not conformant. The distinction between
"asserted" and "cryptographically established" is precisely the distinction an
auditor is asking about, and collapsing it is how provenance systems come to
overstate what they know.</t>

<t>A TAP Verifier <bcp14>MUST</bcp14> report a Provenance Record with no <spanx style="verb">evidence-ref</spanx> and no
<spanx style="verb">ar-ref</spanx> as self-asserted, regardless of how well-formed it is.</t>

</section>
<section anchor="sec-freshness"><name>Freshness and Replay</name>

<t><xref target="RFC9334"/> Section 10 describes three approaches to establishing the timeliness
of Evidence: synchronized clocks, nonces, and epoch IDs. TAP requires that one
of them be used and recorded.</t>

<t>A Sealer <bcp14>MUST NOT</bcp14> reach a <spanx style="verb">permit</spanx> decision on the basis of Evidence whose
freshness it cannot establish by one of the three methods, and <bcp14>MUST</bcp14> record the
method used in <spanx style="verb">freshness-proof</spanx>.</t>

<t>Where the nonce method is used:</t>

<t><list style="symbols">
  <t>The challenge <bcp14>MUST</bcp14> be at least 16 octets and <bcp14>MUST</bcp14> be generated from a
cryptographically secure random source <xref target="RFC4086"/>.</t>
  <t>The challenge <bcp14>MUST</bcp14> be supplied by the Sealer, or by an entity the Sealer trusts
for that purpose, and <bcp14>MUST NOT</bcp14> be chosen by the Reconstruction Environment.</t>
  <t>The Evidence <bcp14>MUST</bcp14> bind the challenge such that any single-bit change in the
challenge causes appraisal to fail.</t>
  <t>The Sealer <bcp14>MUST NOT</bcp14> accept the same challenge value twice.</t>
</list></t>

<t><xref target="RFC9334"/> does not itself specify a minimum nonce length; the 16-octet floor
above is a requirement of this document, chosen to match the 128-bit security
level of the AEAD and signature primitives in common use across the TEE families
in <xref target="sec-bindings"/>.</t>

<t>Where the epoch ID method is used, see <xref target="I-D.ietf-rats-epoch-markers"/> for the
distribution mechanism and for the race conditions inherent in epoch windowing.</t>

<t>A known gap in the artifact corpus underlying this document is described in
<xref target="sec-nonce-gap"/>. It is stated there rather than here because it is a property
of the evidence collected to date, not of the contract.</t>

</section>
<section anchor="sec-impl"><name>Implementation Status</name>

<t>This section records the implementation status of TAP as required by
<xref target="RFC7942"/>, and is to be removed by the RFC Editor before publication. It
describes one implementation. Inclusion here is not an endorsement, and the
absence of independent implementations is itself information the working group
should weigh.</t>

<section anchor="overview-1"><name>Overview</name>

<dl>
  <dt>Implementation:</dt>
  <dd>
    <t>Vault Genome core. Written in Go. 354 Go source files of which 129 are tests;
1,304 Go test functions; 352 adversarial test scenarios; 14 continuous
integration checks enforcing architectural invariants; 17 frozen interface
contracts; an abstract-syntax-tree-level import-graph test enforcing separation
between the authority component and worker components. A Python SDK and a
command-line client exist, as do Terraform modules for AWS, Azure, and GCP.</t>
  </dd>
  <dt>Level of maturity:</dt>
  <dd>
    <t>Prototype. There is no production deployment, no design partner, and no end
user.</t>
  </dd>
  <dt>Coverage:</dt>
  <dd>
    <t>The object formats, the Sealer release procedure ordering, the log-before-
release requirement, the fail-closed requirement, and the RFC 6962 log
commitment are implemented. The freshness requirements of <xref target="sec-freshness"/> are
implemented in the contract but are not exercised by the captured corpus; see
<xref target="sec-nonce-gap"/>.</t>
  </dd>
  <dt>Licensing:</dt>
  <dd>
    <t>Apache-2.0 relicensing is in progress. The repository is not public at the
time of writing.</t>
  </dd>
  <dt>Contact:</dt>
  <dd>
    <t>The author.</t>
  </dd>
</dl>

</section>
<section anchor="what-has-been-demonstrated-on-hardware"><name>What Has Been Demonstrated on Hardware</name>

<t>An artifact corpus was captured while running one seal-and-restore workload
across three TEE families <xref target="TAP-CORPUS"/>. The counts below are produced by a
script from the artifact bytes and are reproduced here verbatim.</t>

<texttable title="Attestation artifact corpus composition" anchor="tab-corpus">
      <ttcol align='left'>Family</ttcol>
      <ttcol align='right'>Files</ttcol>
      <ttcol align='right'>Distinct file hashes</ttcol>
      <ttcol align='right'>Distinct hardware identities</ttcol>
      <ttcol align='left'>Identity field</ttcol>
      <c>AWS Nitro Enclaves</c>
      <c>12</c>
      <c>8</c>
      <c>8</c>
      <c>Nitro Security Module id</c>
      <c>AMD SEV-SNP</c>
      <c>10</c>
      <c>8</c>
      <c>4</c>
      <c>AMD-SP CHIP_ID</c>
      <c>Azure SGX / MAA</c>
      <c>4</c>
      <c>4</c>
      <c>1</c>
      <c>SGX MRENCLAVE</c>
      <c><strong>Total</strong></c>
      <c><strong>26</strong></c>
      <c><strong>20</strong></c>
      <c><strong>13</strong></c>
      <c>&#160;</c>
</texttable>

<t>Regions exercised: AWS us-east-2 and eu-west-1; GCP us-central1, europe-west1
and europe-west4; Azure eastus2 and westeurope. A byte-identical restore of a
Llama 3.2 3B artifact was demonstrated between Ohio and Ireland.</t>

<t>A cross-cloud run delivered three DEKs from AWS us-east-1 to GCP us-central1
over the public Internet following an attestation handshake, producing an audit
chain of length three.</t>

</section>
<section anchor="what-has-not-been-demonstrated"><name>What Has NOT Been Demonstrated</name>

<t>The following are stated because omitting them would misrepresent the
implementation status. Each is a real gap.</t>

<dl>
  <dt>Attestation verification is not wired to vendor cryptography.</dt>
  <dd>
    <t>The in-repository attestation verifiers are fail-closed stubs of
approximately 2,189 lines that return "not yet wired". The hardware signed
real attestation documents, and those documents are in the corpus; the daemon
does not yet verify them against vendor libraries. Closing this is scheduled
work targeting 2026-10-31, using <spanx style="verb">veraison/go-nitro-enclave-attestation-document</spanx>
for AWS Nitro, <spanx style="verb">google/go-sev-guest</spanx> for AMD SEV-SNP, and Intel SGX DCAP.
Until it is closed, the implementation demonstrates the plumbing of
<xref target="sec-sealer"/>, not its security properties.</t>
  </dd>
  <dt>Four of the twelve AWS Nitro documents are debug-mode.</dt>
  <dd>
    <t>They carry all-zero PCRs and therefore prove nothing about enclave identity.
Eight are production-mode with non-zero PCR0. See <xref target="sec-debug"/>.</t>
  </dd>
  <dt>None of the four Azure artifacts is offline-verifiable.</dt>
  <dd>
    <t>All four publish the decoded claims payload but not the compact signed JWT. A
reader cannot re-verify them against Microsoft's keys. They evidence plumbing,
not proof.</t>
  </dd>
  <dt>The reconstruction backend performs no inference.</dt>
  <dd>
    <t>The current backend is a deterministic byte-level Markov chain of order 3
behind a frozen interface. It is a placeholder. It is not a neural network. Any
claim about reconstruction quality would be unsupported. See
<xref target="sec-fidelity"/>.</t>
  </dd>
  <dt>In-process TEE binding is simulated.</dt>
  <dd>
    <t>One binding uses real AES-256-GCM with a simulated hardware root. It is
suitable for testing only and <bcp14>MUST NOT</bcp14> be used in production, per
<xref target="sec-bindings"/>.</t>
  </dd>
  <dt>Only one validation dimension is implemented.</dt>
  <dd>
    <t>Operational validation is implemented. Semantic and behavioral validation are
documented but not implemented.</t>
  </dd>
  <dt>No cross-cloud latency was measured.</dt>
  <dd>
    <t>The cross-cloud coordination result contains no timing field. No
wire-to-acceptance latency figure exists for that run, and this document
states none.</t>
  </dd>
  <dt>A prior novelty claim was retracted.</dt>
  <dd>
    <t>An earlier version of the project's documentation asserted that no comparable
work existed. That claim was withdrawn and replaced with a narrower claim
limited to the governance and release-record aspects described in
<xref target="sec-release-record"/>. The retraction is recorded in the project's revision
history and is noted here because a reader evaluating this document is
entitled to know that the author has previously overstated and corrected.</t>
  </dd>
</dl>

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

<section anchor="trust-model"><name>Trust Model</name>

<t>TAP assumes the network, the host operating system, the hypervisor where one is
present, and all storage are untrusted. TAP assumes that:</t>

<t><list style="symbols">
  <t>the TEE silicon vendor's attestation signing infrastructure is intact;</t>
  <t>the Verifier correctly implements its appraisal and is itself trustworthy to
the Sealer;</t>
  <t>the Sealer's signing key is confined to an environment at least as protected
as the environments it authorizes; and</t>
  <t>the Release Log is append-only in fact, not merely by assertion.</t>
</list></t>

<t>Failure of any of these assumptions invalidates the guarantees of this document.
TAP provides no recovery from silicon vendor key compromise. A deployment whose
threat model includes that event <bcp14>MUST</bcp14> obtain attestation from independently
rooted TEE families and require a quorum; expressing such a quorum requirement
is out of scope for this revision.</t>

</section>
<section anchor="sec-nonce-gap"><name>Replay and Freshness</name>

<t>The freshness requirements of <xref target="sec-freshness"/> exist because Evidence that is
not bound to a challenge can be replayed. An attacker who captures Evidence from
a legitimately attested environment, and who can present it later from an
environment it controls, obtains DEKs for an Artifact it was never authorized to
reconstruct. Measurement equality does not prevent this: the measurement is a
property of the code, and the attacker is replaying somebody else's proof that
the code ran, not proving that it is running now, for them.</t>

<t>This is a genuine and currently open gap in the evidence supporting this
document, and it is stated plainly:</t>

<t><strong>No artifact in the corpus described in <xref target="sec-impl"/> carries a
verifier-supplied nonce.</strong> All twelve AWS Nitro attestation documents have an
empty nonce field. The AMD SEV-SNP reports carry non-zero REPORT_DATA, but
REPORT_DATA in those runs was chosen by the producing side and is therefore a
producer assertion, not a challenge. The Azure artifacts are decoded claim
payloads with no challenge binding recoverable from them.</t>

<t>The consequence is that the corpus demonstrates that these environments can
produce hardware-signed attestations, and does not demonstrate that any of those
attestations was produced in response to a live challenge. The contract in
<xref target="sec-freshness"/> is therefore normatively required and not yet
evidenced. A reader should treat the corpus as evidence of reach across
hardware, not as evidence of replay resistance.</t>

<t>An implementation <bcp14>MUST NOT</bcp14> be described as conforming to this document on the
basis of a corpus with this property.</t>

</section>
<section anchor="sec-debug"><name>Debug-Mode and Unmeasured Environments</name>

<t>Every TEE family supports a debug or development configuration in which the
protections that make attestation meaningful are relaxed. In AWS Nitro Enclaves,
debug-mode attestation documents carry all-zero Platform Configuration
Registers. An all-zero PCR0 is not a measurement of anything; it is the absence
of a measurement, wearing the shape of one. Analogous configurations exist for
Intel SGX (the DEBUG attribute) and AMD SEV-SNP (the DEBUG policy bit).</t>

<t>The failure mode is specific and common: a verifier that parses an attestation
document, finds a well-formed PCR0 field, and compares it against an expected
value will happily accept an all-zero PCR0 if the expected value has also been
configured as all zeros during development, or will accept the document as
"structurally valid" if it never compares at all.</t>

<t>Accordingly:</t>

<t><list style="symbols">
  <t>A Sealer <bcp14>MUST</bcp14> reject Evidence indicating a debug or unmeasured configuration,
unless debug acceptance has been explicitly enabled for a specific,
non-production Artifact.</t>
  <t>An implementation <bcp14>MUST</bcp14> treat an all-zero measurement as a distinct rejection
condition with its own error, not as a measurement mismatch. The two mean
different things operationally: a mismatch suggests wrong code, an all-zero
value suggests wrong platform configuration.</t>
  <t>A TAP Verifier <bcp14>MUST</bcp14> report <spanx style="verb">debug-mode</spanx> as true in its output whenever the
underlying record or Evidence indicates it, and <bcp14>MUST NOT</bcp14> report such a record
as establishing environment identity.</t>
</list></t>

<t>Four of the twenty-six artifacts in the corpus of <xref target="sec-impl"/> are debug-mode.
They are retained in the corpus and labelled, rather than removed, because a
corpus that quietly drops its own negative cases is less useful than one that
keeps them.</t>

</section>
<section anchor="sec-channel-binding"><name>Channel Binding</name>

<t>Step 8 of <xref target="sec-sealer"/> requires that DEKs be released over a channel bound to
the appraised identity. Without this, TAP degrades into an authorization
decision about one entity followed by a key transfer to a possibly different
one. The binding <bcp14>SHOULD</bcp14> be established by including a public key generated
inside the Reconstruction Environment in the Evidence itself (the mechanism
differs by family; see <xref target="sec-bindings"/>) and using that key to establish the
transport. A Sealer that cannot establish such a binding <bcp14>MUST</bcp14> deny.</t>

</section>
<section anchor="compromise-of-the-release-log"><name>Compromise of the Release Log</name>

<t>An append-only log that a single operator controls is append-only by that
operator's word. A Sealer and a TAP Verifier that both trust the same
unwitnessed log can be shown different views of it, and neither will detect the
divergence. Deployments <bcp14>SHOULD</bcp14> obtain signed tree heads from independent
witnesses, or use a transparency service that provides them <xref target="RFC9943"/>. A TAP
Verifier <bcp14>SHOULD</bcp14> report whether the inclusion proofs it checked were validated
against a witnessed root or an operator-asserted one.</t>

</section>
<section anchor="sealed-material-and-key-lifetime"><name>Sealed Material and Key Lifetime</name>

<t>TAP does not provide forward secrecy for sealed Artifacts. An adversary who
obtains a DEK obtains the corresponding plaintext chunks for as long as those
chunks exist. Release Records make such an event auditable after the fact; they
do not prevent it. Deployments handling long-lived Artifacts <bcp14>SHOULD</bcp14> re-seal
under fresh keys on a schedule and <bcp14>SHOULD</bcp14> treat DEK release as an event with a
retention consequence, not merely an access-control outcome.</t>

</section>
<section anchor="sec-fidelity"><name>Reconstruction Fidelity Is Not a Security Property</name>

<t>TAP establishes who produced a Sealed Artifact and who was authorized to
reconstruct it. It establishes nothing about whether the reconstructed asset
behaves like the original, means the same thing, or is fit for any purpose. A
Release Record is not a statement of correctness.</t>

<t>This distinction matters because the two are easily conflated in deployment: an
audit trail showing an authorized reconstruction inside an attested environment
reads, to a non-specialist, like an assurance that the result is good. It is
not. Implementations <bcp14>SHOULD NOT</bcp14> present Release Records in interfaces that imply
a fidelity claim, and any fidelity claim <bcp14>MUST</bcp14> rest on separate evidence.</t>

<t>The implementation described in <xref target="sec-impl"/> makes this concrete: its
reconstruction backend is a deterministic placeholder that performs no
inference, and it produces valid Release Records regardless.</t>

</section>
<section anchor="error-handling-and-side-channels"><name>Error Handling and Side Channels</name>

<t>Errors returned by a Sealer to a requesting environment <bcp14>MUST NOT</bcp14> distinguish
between failure causes in a way that lets a requester probe the appraisal policy.
A requester learns permit or deny. Detailed causes belong in the Release Record
and in operator-facing logs, not in the response.</t>

<t>Implementations <bcp14>SHOULD</bcp14> distinguish internally between structural failures (a
malformed request; the requester should fix and retry) and integrity failures (a
signature that does not verify; a nonce that does not match), and <bcp14>SHOULD</bcp14> treat
integrity failures as potential attacks warranting escalation rather than as
routine errors.</t>

</section>
<section anchor="denial-of-service"><name>Denial of Service</name>

<t>A Sealer that fails closed can be denied by denying it access to its Verifier or
its Release Log. This is the correct trade: availability of the reconstruction
path is sacrificed to prevent unauthorized release. Deployments that cannot
accept this <bcp14>SHOULD</bcp14> add redundancy at the Verifier and Log, and <bcp14>MUST NOT</bcp14> add a
bypass.</t>

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

<t>TEE attestation frequently exposes stable hardware identifiers. The corpus in
<xref target="sec-impl"/> illustrates the scale: 26 artifacts resolve to 13 distinct hardware
identities, via AMD-SP CHIP_ID for SEV-SNP and Nitro Security Module identifiers
for AWS Nitro Enclaves. These identifiers are stable across workloads and across
tenants of the same physical part, and correlating them across Release Records
reveals which physical machines a given workload has run on and when.</t>

<t>Accordingly:</t>

<t><list style="symbols">
  <t>The <spanx style="verb">platform-id</spanx> field of <spanx style="verb">environment-identity</spanx> is <bcp14>OPTIONAL</bcp14> and <bcp14>SHOULD</bcp14> be
omitted unless a deployment has a specific need for it that outweighs the
linkability it creates.</t>
  <t>Where a deployment needs machine-level accountability without machine-level
linkability, <spanx style="verb">platform-id</spanx> <bcp14>SHOULD</bcp14> carry a salted, per-deployment pseudonym
rather than the raw hardware identifier, with the mapping held by the
deployment operator.</t>
  <t>Release Records committed to a publicly readable log expose their contents to
everyone. Deployments <bcp14>SHOULD</bcp14> assess whether <spanx style="verb">artifact-id</spanx>, <spanx style="verb">policy-id</spanx>, and
<spanx style="verb">target-identity</spanx> are safe to publish in their setting, and <bcp14>MAY</bcp14> commit a
digest of the Release Record to a public log while retaining the record itself.</t>
</list></t>

<t>Direct Anonymous Attestation <xref target="I-D.ietf-rats-daa"/> addresses the underlying
linkability problem for Evidence and is complementary to the mitigations above.
This document does not profile it.</t>

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

<t>This document has no IANA actions.</t>

<t>A future revision may request registrations if the working group finds the
objects in <xref target="sec-release-record"/> worth registering. The candidates are a CBOR
tag and a media type for <spanx style="verb">release-record</spanx>, and a media type for
<spanx style="verb">provenance-record</spanx>. No registration is requested at this revision, because the
object definitions are not stable enough to warrant one and because the working
group may prefer that these objects be expressed as a profile of an existing
format such as <xref target="RFC9711"/> or the Conceptual Message Wrapper <xref target="RFC9999"/> rather
than as new types. See <xref target="sec-open-issues"/>.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>
<reference anchor="RFC4086">
  <front>
    <title>Randomness Requirements for Security</title>
    <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
    <author fullname="J. Schiller" initials="J." surname="Schiller"/>
    <author fullname="S. Crocker" initials="S." surname="Crocker"/>
    <date month="June" year="2005"/>
    <abstract>
      <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
      <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. 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="106"/>
  <seriesInfo name="RFC" value="4086"/>
  <seriesInfo name="DOI" value="10.17487/RFC4086"/>
</reference>
<reference anchor="RFC5116">
  <front>
    <title>An Interface and Algorithms for Authenticated Encryption</title>
    <author fullname="D. McGrew" initials="D." surname="McGrew"/>
    <date month="January" year="2008"/>
    <abstract>
      <t>This document defines algorithms for Authenticated Encryption with Associated Data (AEAD), and defines a uniform interface and a registry for such algorithms. The interface and registry can be used as an application-independent set of cryptoalgorithm suites. This approach provides advantages in efficiency and security, and promotes the reuse of crypto implementations. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5116"/>
  <seriesInfo name="DOI" value="10.17487/RFC5116"/>
</reference>
<reference anchor="RFC6962">
  <front>
    <title>Certificate Transparency</title>
    <author fullname="B. Laurie" initials="B." surname="Laurie"/>
    <author fullname="A. Langley" initials="A." surname="Langley"/>
    <author fullname="E. Kasper" initials="E." surname="Kasper"/>
    <date month="June" year="2013"/>
    <abstract>
      <t>This document describes an experimental protocol for publicly logging the existence of Transport Layer Security (TLS) certificates as they are issued or observed, in a manner that allows anyone to audit certificate authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
      <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6962"/>
  <seriesInfo name="DOI" value="10.17487/RFC6962"/>
</reference>
<reference anchor="RFC8032">
  <front>
    <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
    <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
    <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
    <date month="January" year="2017"/>
    <abstract>
      <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8032"/>
  <seriesInfo name="DOI" value="10.17487/RFC8032"/>
</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="RFC8949">
  <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="RFC9052">
  <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="RFC9053">
  <front>
    <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</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 a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
      <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9053"/>
  <seriesInfo name="DOI" value="10.17487/RFC9053"/>
</reference>
<reference anchor="RFC9334">
  <front>
    <title>Remote ATtestation procedureS (RATS) Architecture</title>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="D. Thaler" initials="D." surname="Thaler"/>
    <author fullname="M. Richardson" initials="M." surname="Richardson"/>
    <author fullname="N. Smith" initials="N." surname="Smith"/>
    <author fullname="W. Pan" initials="W." surname="Pan"/>
    <date month="January" year="2023"/>
    <abstract>
      <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9334"/>
  <seriesInfo name="DOI" value="10.17487/RFC9334"/>
</reference>
<reference anchor="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>



    </references>

    <references title='Informative References' anchor="sec-informative-references">



<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="RFC9162">
  <front>
    <title>Certificate Transparency Version 2.0</title>
    <author fullname="B. Laurie" initials="B." surname="Laurie"/>
    <author fullname="E. Messeri" initials="E." surname="Messeri"/>
    <author fullname="R. Stradling" initials="R." surname="Stradling"/>
    <date month="December" year="2021"/>
    <abstract>
      <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
      <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
      <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9162"/>
  <seriesInfo name="DOI" value="10.17487/RFC9162"/>
</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="RFC9943">
  <front>
    <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="A. Delignat-Lavaud" initials="A." surname="Delignat-Lavaud"/>
    <author fullname="C. Fournet" initials="C." surname="Fournet"/>
    <author fullname="Y. Deshpande" initials="Y." surname="Deshpande"/>
    <author fullname="S. Lasker" initials="S." surname="Lasker"/>
    <date month="June" year="2026"/>
    <abstract>
      <t>Traceability in supply chains is a growing security concern. While Verifiable Data Structures (VDSs) have addressed specific issues, such as equivocation over digital certificates, they lack a universal architecture for all supply chains. This document defines such an architecture for single-issuer signed statement transparency. It ensures extensibility and interoperability between different transparency services as well as compliance with various auditing procedures and regulatory requirements.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9943"/>
  <seriesInfo name="DOI" value="10.17487/RFC9943"/>
</reference>
<reference anchor="RFC9999">
  <front>
    <title>Remote ATtestation procedureS (RATS) Conceptual Message Wrapper (CMW)</title>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="N. Smith" initials="N." surname="Smith"/>
    <author fullname="T. Fossati" initials="T." surname="Fossati"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <date month="July" year="2026"/>
    <abstract>
      <t>The conceptual messages introduced by the Remote ATtestation procedureS (RATS) architecture (RFC 9334) are protocol-agnostic data units that are conveyed between RATS roles during RATS interactions. Conceptual messages describe the meaning and function of such data units within RATS data flows without specifying a wire format, encoding, transport mechanism, or processing details. The initial set of conceptual messages is defined in Section 8 of RFC 9334 and includes Evidence, Attestation Results, Endorsements, Reference Values, and Appraisal Policies.</t>
      <t>This document introduces the Conceptual Message Wrapper (CMW) that provides a common structure to encapsulate these messages. It defines a dedicated Concise Binary Object Representation (CBOR) tag, corresponding JSON Web Token (JWT) and CBOR Web Token (CWT) claims, and an X.509 extension.</t>
      <t>Together, these mechanisms allow CMWs to be used in CBOR-based protocols, web APIs using JWTs and CWTs, and PKIX artifacts such as X.509 certificates. Additionally, this document defines media types and CoAP Content-Formats that may be used to identify CMWs when transported over protocols such as HTTP, MIME, and CoAP.</t>
      <t>The goal is to improve the interoperability and flexibility of remote attestation protocols. Introducing a shared message format such as CMW enables consistent support for different attestation message types, enables the evolution of message serialization formats without breaking compatibility, and avoids the need to redefine how messages are handled within each protocol.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9999"/>
  <seriesInfo name="DOI" value="10.17487/RFC9999"/>
</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="18" month="May" year="2026"/>
      <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-10"/>
   
</reference>

<reference anchor="I-D.ietf-rats-corim">
   <front>
      <title>Concise Reference Integrity Manifest</title>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Thomas Fossati" initials="T." surname="Fossati">
         <organization>Linaro</organization>
      </author>
      <author fullname="Yogesh Deshpande" initials="Y." surname="Deshpande">
         <organization>arm</organization>
      </author>
      <author fullname="Ned Smith" initials="N." surname="Smith">
         <organization>Independent</organization>
      </author>
      <author fullname="Wei Pan" initials="W." surname="Pan">
         <organization>Huawei Technologies</organization>
      </author>
      <date day="6" month="July" year="2026"/>
      <abstract>
	 <t>   Remote Attestation Procedures (RATS) enable Relying Parties to assess
   the trustworthiness of a remote Attester and therefore to decide
   whether or not to engage in secure interactions with it.  Evidence
   about trustworthiness can be rather complex and it is deemed
   unrealistic that every Relying Party is capable of the appraisal of
   Evidence.  Therefore that burden is typically offloaded to a
   Verifier.  In order to conduct Evidence appraisal, a Verifier
   requires not only fresh Evidence from an Attester, but also trusted
   Endorsements and Reference Values from Endorsers and Reference Value
   Providers, such as manufacturers, distributors, or device owners.
   This document specifies the information elements for representing
   Endorsements and Reference Values in CBOR format.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rats-corim-11"/>
   
</reference>

<reference anchor="I-D.ietf-rats-daa">
   <front>
      <title>Direct Anonymous Attestation for the Remote Attestation Procedures Architecture</title>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Christopher Newton" initials="C." surname="Newton">
         <organization>University of Surrey</organization>
      </author>
      <author fullname="Liqun Chen" initials="L." surname="Chen">
         <organization>University of Surrey</organization>
      </author>
      <author fullname="Thanassis Giannetsos" initials="T." surname="Giannetsos">
         <organization>Ubitech</organization>
      </author>
      <author fullname="Dave Thaler" initials="D." surname="Thaler">
         <organization>Microsoft</organization>
      </author>
      <date day="2" month="March" year="2026"/>
      <abstract>
	 <t>   This document maps the concept of Direct Anonymous Attestation (DAA)
   to the Remote Attestation Procedures (RATS) Architecture.  The
   protocol entity DAA Issuer is introduced and its mapping with
   existing RATS roles in DAA protocol steps is specified.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rats-daa-09"/>
   
</reference>

<reference anchor="I-D.ietf-rats-ear">
   <front>
      <title>EAT Attestation Results</title>
      <author fullname="Thomas Fossati" initials="T." surname="Fossati">
         <organization>Linaro</organization>
      </author>
      <author fullname="Eric Voit" initials="E." surname="Voit">
         <organization>Cisco</organization>
      </author>
      <author fullname="Sergei Trofimov" initials="S." surname="Trofimov">
         <organization>Arm Limited</organization>
      </author>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <date day="26" month="May" year="2026"/>
      <abstract>
	 <t>   This document defines the EAT Attestation Result (EAR) message
   format.

   EAR is used by a verifier to encode the result of the appraisal over
   an attester&#x27;s evidence.  It embeds an AR4SI&#x27;s &quot;trustworthiness
   vector&quot; 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>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rats-ear-04"/>
   
</reference>

<reference anchor="I-D.ietf-rats-endorsements">
   <front>
      <title>RATS Endorsements</title>
      <author fullname="Dave Thaler" initials="D." surname="Thaler">
         <organization>Armidale Consulting</organization>
      </author>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Thomas Fossati" initials="T." surname="Fossati">
         <organization>Linaro</organization>
      </author>
      <date day="2" month="March" year="2026"/>
      <abstract>
	 <t>   In the IETF Remote Attestation Procedures (RATS) architecture, a
   Verifier accepts Evidence and uses Appraisal Policy for Evidence,
   typically with additional input from Endorsements and Reference
   Values, to generate Attestation Results in formats that are useful
   for Relying Parties.  This document illustrates the purpose and role
   of Endorsements and discusses some considerations in the choice of
   message format for Endorsements in the scope of the RATS
   architecture.

   This document does not aim to define a conceptual message format for
   Endorsements and Reference Values.  Instead, it extends RFC9334 to
   provide further details on Reference Values and Endorsements, as
   these topics were outside the scope of the RATS charter when RFC9334
   was developed.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rats-endorsements-09"/>
   
</reference>

<reference anchor="I-D.ietf-rats-epoch-markers">
   <front>
      <title>Epoch Markers</title>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Thomas Fossati" initials="T." surname="Fossati">
         <organization>Linaro</organization>
      </author>
      <author fullname="Wei Pan" initials="W." surname="Pan">
         <organization>Huawei Technologies</organization>
      </author>
      <author fullname="Ionuț Mihalcea" initials="I." surname="Mihalcea">
         <organization>Arm</organization>
      </author>
      <author fullname="Carsten Bormann" initials="C." surname="Bormann">
         <organization>Universität Bremen TZI</organization>
      </author>
      <date day="3" month="July" year="2026"/>
      <abstract>
	 <t>   This document defines Epoch Markers as a means to establish a notion
   of freshness among actors in a distributed system.  Epoch Markers are
   similar to &quot;time ticks&quot; and are produced and distributed by a
   dedicated system known as the Epoch Bell.  Systems receiving Epoch
   Markers do not need to track freshness using their own understanding
   of time (e.g., via a local real-time clock).  Instead, the reception
   of a specific Epoch Marker establishes a new epoch that is shared
   among all recipients.  This document defines Epoch Marker types,
   including CBOR time tags, RFC 3161 TimeStampToken, and nonce-like
   structures.  It also defines a CWT Claim to embed Epoch Markers in
   RFC 8392 CBOR Web Tokens, which serve as vehicles for signed protocol
   messages.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rats-epoch-markers-05"/>
   
</reference>

<reference anchor="I-D.ietf-rats-reference-interaction-models">
   <front>
      <title>Reference Interaction Models for Remote Attestation Procedures</title>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Michael Eckel" initials="M." surname="Eckel">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Wei Pan" initials="W." surname="Pan">
         <organization>Huawei Technologies</organization>
      </author>
      <author fullname="Eric Voit" initials="E." surname="Voit">
         <organization>Cisco Systems</organization>
      </author>
      <date day="2" month="April" year="2026"/>
      <abstract>
	 <t>   This document describes interaction models for remote attestation
   procedures (RATS) [RFC9334].  Three conveying mechanisms --
   Challenge/Response, Uni-Directional, and Streaming Remote Attestation
   -- are illustrated and defined.  Analogously, a general overview
   about the information elements typically used by corresponding
   conveyance protocols are highlighted.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rats-reference-interaction-models-17"/>
   
</reference>

<reference anchor="I-D.ietf-scitt-scrapi">
   <front>
      <title>Supply Chain Integrity, Transparency, and Trust (SCITT) Reference APIs</title>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Jon Geater" initials="J." surname="Geater">
         <organization>Bowball Technologies Ltd</organization>
      </author>
      <author fullname="Antoine Delignat-Lavaud" initials="A." surname="Delignat-Lavaud">
         <organization>Microsoft Research</organization>
      </author>
      <date day="26" month="June" year="2026"/>
      <abstract>
	 <t>   This document specifies a REST API with the HTTP resources, request
   and response messages, and error handling needed for an interoperable
   implementation of a SCITT Transparency Service, as defined by the
   Supply Chain Integrity, Transparency, and Trust (SCITT) Architecture.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-scitt-scrapi-11"/>
   
</reference>

<reference anchor="AWS-NITRO" target="https://docs.aws.amazon.com/enclaves/latest/user/verify-root.html">
  <front>
    <title>AWS Nitro Enclaves attestation document specification</title>
    <author >
      <organization>Amazon Web Services</organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="AMD-SEVSNP" target="https://www.amd.com/system/files/TechDocs/56860.pdf">
  <front>
    <title>SEV Secure Nested Paging Firmware ABI Specification, Publication 56860</title>
    <author >
      <organization>Advanced Micro Devices, Inc.</organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="INTEL-DCAP" target="https://download.01.org/intel-sgx/latest/dcap-latest/linux/docs/">
  <front>
    <title>Intel Software Guard Extensions (Intel SGX) Data Center Attestation Primitives: ECDSA Quote Library API</title>
    <author >
      <organization>Intel Corporation</organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="AZURE-MAA" target="https://learn.microsoft.com/en-us/azure/attestation/overview">
  <front>
    <title>Microsoft Azure Attestation</title>
    <author >
      <organization>Microsoft Corporation</organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="TAP-CORPUS" >
  <front>
    <title>Cross-TEE Attestation Corpus (docs/CORPUS.md and evidence/MANIFEST.json)</title>
    <author initials="S." surname="Nikolaichuk" fullname="Serhii Nikolaichuk">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
<refcontent>Machine-generated manifest of hardware-signed attestation artifacts. Not yet publicly available; see Section 9.</refcontent></reference>


    </references>

</references>


<?line 1006?>

<section anchor="sec-bindings"><name>Concrete TEE Binding Considerations</name>

<t>This appendix records, for each TEE family exercised by the implementation in
<xref target="sec-impl"/>, which field carries the measurement, which field can carry a
channel-binding key, and how debug configuration is detected. It is informative
at this revision; the author expects that per-family bindings need to be
normative before the document is useful for interoperability, and that they
should reference <xref target="I-D.ietf-rats-corim"/> for Reference Values rather than
restating vendor formats.</t>

<section anchor="aws-nitro-enclaves"><name>AWS Nitro Enclaves</name>

<t><list style="symbols">
  <t>Evidence: CBOR-encoded COSE_Sign1 attestation document from the Nitro Security
Module <xref target="AWS-NITRO"/>.</t>
  <t>Measurement: PCR0, the enclave image measurement.</t>
  <t>Channel binding: the <spanx style="verb">public_key</spanx> field of the attestation document.</t>
  <t>Challenge: the <spanx style="verb">nonce</spanx> field.</t>
  <t>Debug detection: all PCRs zero.</t>
  <t>Note: sixteen PCRs are present in the corpus documents; only PCR0, PCR1, PCR2,
PCR3, PCR4 and PCR8 are meaningful for enclave identity, and a binding <bcp14>MUST</bcp14>
state which it constrains.</t>
</list></t>

</section>
<section anchor="amd-sev-snp"><name>AMD SEV-SNP</name>

<t><list style="symbols">
  <t>Evidence: SEV-SNP attestation report <xref target="AMD-SEVSNP"/>.</t>
  <t>Measurement: the launch MEASUREMENT field.</t>
  <t>Channel binding and challenge: REPORT_DATA. Because a single field serves both
purposes, a binding <bcp14>MUST</bcp14> specify the construction that combines them, and <bcp14>MUST
NOT</bcp14> allow the producing side to choose REPORT_DATA freely when the field is
being relied on for freshness. This is the origin of the gap in
<xref target="sec-nonce-gap"/>.</t>
  <t>Platform identity: CHIP_ID. See the privacy considerations above before
recording it.</t>
  <t>Debug detection: the DEBUG bit of the guest POLICY field.</t>
</list></t>

</section>
<section anchor="intel-sgx-dcap-and-azure-attestation"><name>Intel SGX (DCAP and Azure Attestation)</name>

<t><list style="symbols">
  <t>Evidence: an ECDSA quote per <xref target="INTEL-DCAP"/>, or a signed token from Microsoft
Azure Attestation <xref target="AZURE-MAA"/> carrying the appraised quote.</t>
  <t>Measurement: MRENCLAVE. MRSIGNER identifies the signer, not the code, and <bcp14>MUST
NOT</bcp14> be used alone where code identity is required.</t>
  <t>Challenge and channel binding: REPORTDATA.</t>
  <t>Debug detection: the DEBUG attribute in the enclave attributes field.</t>
  <t>Note: a deployment relying on a Verifier-issued token <bcp14>MUST</bcp14> retain the compact
signed form. Retaining only the decoded claims payload makes the artifact
unverifiable by anyone else, which is the defect present in all four Azure
artifacts in the corpus of <xref target="sec-impl"/>.</t>
</list></t>

</section>
<section anchor="software-simulator"><name>Software Simulator</name>

<t><list style="symbols">
  <t>A simulator binding exists in the implementation for testing. It uses real
AES-256-GCM with a simulated hardware root and Ed25519 <xref target="RFC8032"/> signatures
over a measurement-and-challenge envelope.</t>
  <t>It <bcp14>MUST NOT</bcp14> be used in production, and an implementation <bcp14>MUST</bcp14> make a simulated
root visibly distinct from a hardware root in every interface where a
measurement is displayed.</t>
</list></t>

</section>
</section>
<section anchor="sec-open-issues"><name>Open Issues</name>

<t>These are stated for working group input and are expected to change.</t>

<t><list style="numbers" type="1">
  <t><strong>Naming.</strong> The TAP role called "TAP Verifier" collides with the <xref target="RFC9334"/>
Verifier and should probably be renamed. See <xref target="sec-naming"/>.</t>
  <t><strong>Intended status.</strong> This revision is Informational. A contract intended for
interoperation would normally be Standards Track. The author has no view worth
defending on which is right and will follow the working group.</t>
  <t><strong>Encoding.</strong> Whether <spanx style="verb">release-record</spanx> should be a new object, an EAT profile
<xref target="RFC9711"/>, a Conceptual Message Wrapper payload <xref target="RFC9999"/>, or a SCITT
statement <xref target="RFC9943"/>. The author's weak preference is the last, on the
grounds that a Release Record is a signed statement about an artifact and that
is what SCITT is for.</t>
  <t><strong>Relationship to AR4SI.</strong> <xref target="I-D.ietf-rats-ar4si"/> defines trustworthiness
tiers for Attestation Results. TAP's <spanx style="verb">deny</spanx> on debug-mode ought to be
expressible as a constraint over AR4SI claims rather than as a bespoke rule,
and probably should be in a future revision.</t>
  <t><strong>Charter fit.</strong> The RATS charter excludes appraisal policy formats. This
document deliberately avoids defining one, but a working group may
nonetheless judge the release-decision object to fall outside the charter. If
so, the SCITT working group may be the better home, and the author would
rather be told that early than late.</t>
  <t><strong>Scope of the Sealer.</strong> Whether key release belongs in a RATS document at
all, or whether TAP should be split into a provenance document and a
key-release document.</t>
</list></t>

</section>
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>This document is a first individual submission from an author with no prior IETF
publications. Errors in RATS vocabulary, process, or convention are the author's
own, and corrections are welcome on the RATS mailing list.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA8V963IbR5bm/3qKWjpiLakBSJRk2aKm1wOTtJs7ug1J293T
0dssAEWgWkAVprJACrbcz7LPsk+25zuXvBRASd0TscsI2WRdsjJPnjz3y3A4
zLqqW5ZH+cFlu3FdOcvHbVddF9Muf9s2N2Vd1NMyv3c5fnv/KB/j2mwzLdtB
/lPZVtcVfivqWX5RFsuyzY+bumvx7nXT5uOuK11XdFVTD38oMPR5OW1q17Wb
KS7mzXV+QffL680yHztXdu4gKyaTtrz5nOkcZLNmWhcrmvusLa67YV29a5ZF
NV1s3g3bonPDrlgPHz3KpvSJedNuj/Kqvm4yt5msKudoAt12TS+fnV5+n2Fe
Ze027iin6ZUZzeBJVq1b/tN1jx89ev7ocVa0ZUFTuyinm7bqtgfZbdO+m7fN
Zk1Xz8tV05X5+NKvGlOelrNNW17k987Hlxc053flll6aHWV5PsxbeaUIgOLL
NJnralbWXVUs6Y/VetNV9ZxvdQqV8j3Ngb9R1jdV29QrepyfiAYbzhnq9En6
0rIsXMlPrD0gdciidmtaWj3d5stmntHNTYkJftbKDuhBAeTBzwQNmmj+A97D
9VVRLek6NuNfq7K7HjXtHNeLdrqg64uuW7ujhw/xGC5VN+XIHnuICw8nbXPr
yocY4OFBlhWbbtG0DDv6l9N+0n5djPLXYef5OiHUUjDjomwXVbXzAH2gqKtf
eC00kQO+OKUtJRwnAFc1X2jLOd+//KPcbzaE3fTIj3UFuDLuOmDxeEWHYVrw
U6UsOkLGkRtd/+scl0e0mVlWN+2KvnzDMD7//vjx4eFz/fWbw6+f6q9PH33z
TH/96vDQfn32/Nlje/bRE//rs8NH9uvzpzbY80dfPQ6/PrFfnzyxTzz/+vDw
KMtwKtIZff38qX/z0H/w+dff+F+fP/Xj0Q9+PRue8ObJ0Svap67avTxt2mq1
e3lWFLsXy6Ldc7GeNa0rge1uz911M10MV0X7rmz33G7L6xJoXg6ruitBp3BI
Vs2sXKZPO0KFjv7bFmtexPjni+Hrs8vzN0e8xUYx6TJhVtc2+Wk9XRY3hAzR
6cuJPG0w0dytyynRyilfFlzrinZedtEZoIfdqLilf6vil6YGpjwsddSHSyBa
93DjyvbhDejudtg2TTdadKuljBdOBn6GfQQf86D5z+UEJ+KmmpZO3pvRyEf5
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

-->

</rfc>

