<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.4.9) -->
<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-multi-verifier-01" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="RATS Many-Verifiers">Remote Attestation with Multiple Verifiers</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-multi-verifier-01"/>
    <author initials="Y." surname="Deshpande" fullname="Yogesh Deshpande">
      <organization>Arm Ltd</organization>
      <address>
        <email>yogesh.deshpande@arm.com</email>
      </address>
    </author>
    <author initials="J." surname="Zhang" fullname="Jun Zhang">
      <organization>Huawei Technologies France S.A.S.U.</organization>
      <address>
        <email>junzhang1@huawei.com</email>
      </address>
    </author>
    <author initials="H." surname="Labiod" fullname="Houda Labiod">
      <organization>Huawei Technologies France S.A.S.U.</organization>
      <address>
        <email>houda.labiod@huawei.com</email>
      </address>
    </author>
    <author initials="H." surname="Birkholtz" fullname="Henk Birkholtz">
      <organization>Fraunhofer SIT</organization>
      <address>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <date year="2026" month="October" day="30"/>
    <area>Security</area>
    <workgroup>RATS</workgroup>
    <abstract>
      <?line 68?>

<t>IETF RATS Architecture, defines the key role of a Verifier.
In a complex system, this role needs to be performed by multiple Verifiers coordinating together to assess the full trustworthiness of an Attester.
This document focuses on various topological patterns for a multiple Verifier system.
It only covers the architectural aspects introduced by the Multi Verifier concept, which is neutral with regard to specific wire formats, encoding, transport mechanisms, or processing details.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Remote ATtestation ProcedureS Working Group mailing list (rats@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rats/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/ietf-rats-wg/draft-ietf-rats-multi-verifier"/>.</t>
    </note>
  </front>
  <middle>
    <?line 75?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>A Verifier plays a central role in any Remote Attestation System.
A Verifier appraises the Attester and produces Attestation Results, which are essentially a verdict of attestation.
The results are consumed by the Relying Party to decide the trustworthiness of the Attester, before making any critical decisions about the Attester, such as admitting it to the network or releasing confidential resources to it.
Attesters can come in a wide variety of shapes and forms.
For example, Attesters can be endpoints (edge or IoT devices) or complex machines in the cloud.
Composite Attester (<xref target="sec-glossary"/>) generates Evidence that consists of multiple parts.
For example, in data center servers, it is not uncommon for separate Attesting Environments (AE) to serve a subsection of the entire machine.
One AE might measure and attest to what was started on the main CPU, while another AE might measure and attest to what was started on the machine's GPU.
Throughout this document we use the term Component Attester (<xref target="sec-glossary"/>) to address the single entity which produces its own Evidence in a Composite Attester system.</t>
      <t>In a Composite Attester system, it may not be possible for a single Verifier to possess all the capabilities or information required to conduct a complete appraisal of the Attester.
Refer to (<xref target="sec-need-multiverifier"/>) for motivation of this document.
Multiple Verifiers need to collaborate to reach a conclusion on the appraisal and produce the Attestation Results.</t>
      <t>This document describes three topological patterns of multiple Verifiers that work in a coordinated manner to conduct appraisal of a Composite Attester to produce Attestation Results.</t>
    </section>
    <section anchor="sec-need-multiverifier">
      <name>Need for Multiple Verifiers</name>
      <t>To conduct the task of Evidence appraisal, a Verifier requires:</t>
      <ol spacing="normal" type="1"><li>
          <t>Reference Values from trusted supply chain actors, known as Reference Value Providers (<xref target="RFC9334"/>), producing, aggregating, or administering Attesters</t>
        </li>
        <li>
          <t>Endorsements from trusted supply chain actors, known as Endorsers (<xref target="RFC9334"/>), producing, certifying, or compliance checking Attesters</t>
        </li>
        <li>
          <t>Appraisal Policy for Evidence, which is under the control of the Verifier Owner</t>
        </li>
      </ol>
      <t>The Verifier inputs listed above largely vary dependent on the make and the model of the Attesters.</t>
      <t>Typically, Composite Attesters are complex systems comprising different types of components, potentially originating from multiple suppliers and integrated into a single system.
Consequently, the Attestation Evidence produced by such a system may comprise a heterogeneous combination of Evidence, reflecting the different types of Attesting Environments associated with each Component Attester, such as CPU, GPU, or FPGA variants.
When conducting Evidence appraisal for a Composite Attester, the following challenges remain:</t>
      <ol spacing="normal" type="1"><li>
          <t>An Attester's composition can change over time based on market requirements and availability (e.g., a set of racks in a data center gets thousands of new FPGAs).
It is highly unlikely that there is always one appropriate Verifier that satisfies all the requirements that a complex and changing Composite Attester imposes.
It may not be economically viable to build and maintain such a degree of complexity in a single Verifier.</t>
        </li>
        <li>
          <t>A Verifier Owner may have an Appraisal Policy for Evidence of a Component Attester that is internal to them and which they may choose not to reveal to a “monolithic" Verifier.</t>
        </li>
        <li>
          <t>A Reference Value Provider may not wish to reveal its Reference Values or their lifecycle to a monolithic Verifier.</t>
        </li>
      </ol>
      <t>As a consequence, there may not be a single actor in the ecosystem that can stand up and take ownership of verifying every Component Attester due to a lack of knowledge, complexity, regulations or associated cost.</t>
      <t>The mix today is a combination of Verifier services provided by component manufacturers, Verifiers provided by integrators, and Verifiers under local authority (i.e., close to the attester).
Rarely is it just one of these.</t>
    </section>
    <section anchor="reference-use-cases">
      <name>Reference Use Cases</name>
      <t>This section covers generic use cases that demonstrate the applicability of Multi Verifier, regardless of specific solutions.
Its purpose is to motivate various aspects of the architecture presented in this document.
There are many other use cases; this document does not contain a complete list.</t>
      <section anchor="verification-of-devices-containing-heterogenous-components">
        <name>Verification of Devices containing heterogenous components</name>
        <t>A device may contain a Central Processing Unit (CPU), as well as heterogeneous acceleration components such as Graphical Processing Units (GPUs), Neural Processing Units (NPUs) and Tensor Processing Units (TPUs) from different suppliers.</t>
        <t>These components can be used to speed up processing or assist with AI inference.
Trustworthiness assessment of the device requires trust in all of these components.
However, due to business concerns such as scalability, complexity and cost of infrastructure, the Verifier for each type of component may be deployed separately by each vendor.</t>
        <t>When these Verifiers operate together, they must interact with each other, understand the topology and interoperate using standardised protocols.
For instance, they may need to exchange Partial Evidence relating to the relevant component or Partial Attestation Results for it.</t>
        <t>Attester: A Device having multiple components</t>
        <t>Relying Party: An entity which is making trust decisions for such an Attester</t>
      </section>
      <section anchor="verification-of-workloads-operating-in-confidential-computing-environments">
        <name>Verification of Workloads operating in Confidential Computing environments</name>
        <t>As organisations move more workloads into untrusted or shared environments, Confidential Computing is becoming increasingly important.
In such a system, an application or workload (which could be an AI model, database process or financial service, for example) is executed inside a Trusted Execution Environment, such as a Confidential Virtual Machine (CVM).
When the workload starts, the TEE can generate a cryptographic attestation report providing:</t>
        <ol spacing="normal" type="1"><li>
            <t>The workload is running on a platform with a known state.</t>
          </li>
          <li>
            <t>The workload is running the correct application.</t>
          </li>
        </ol>
        <t>The platform is often built by an independent TEE vendor, while the workloads are deployed by workload owners from different parts of the supply chain.</t>
        <t>Verification of Attestation for such a system requires independent, yet mutually coordinated, verification of: Platform claims appraised by a Platform Verifier and Workload claims appraised by a Workload Verifier.</t>
        <t>Attester: A layered Attester containing a platform and a workload running in a CC environment</t>
        <t>Relying Party: An entity which is making trust decisions, such as a key release to a workload</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
      </t>
      <t>This document uses terms and concepts defined by the RATS architecture.
For a complete glossary, see <xref section="4" sectionFormat="of" target="RFC9334"/>.</t>
      <t>Specifically this document heavily uses the terms Attesting Environment <xref section="3.1" sectionFormat="of" target="RFC9334"/>,  Layered Attester <xref section="3.2" sectionFormat="of" target="RFC9334"/> and Composite Device <xref section="3.3" sectionFormat="of" target="RFC9334"/></t>
      <section anchor="sec-glossary">
        <name>Glossary</name>
        <t>This document uses the following terms:</t>
        <dl>
          <dt>Composite Attester:</dt>
          <dd>
            <t>A Composite Attester is either a Composite Device (<xref section="3.3" sectionFormat="of" target="RFC9334"/>) or a Layered Attester (<xref section="3.2" sectionFormat="of" target="RFC9334"/>) or any combination of these.</t>
          </dd>
          <dt>Component Attester:</dt>
          <dd>
            <t>A Component Attester is a single Attester of a Composite Attester.
For example, it can be a sub-entity <xref section="3.3" sectionFormat="of" target="RFC9334"/> or a layer <xref section="3.2" sectionFormat="of" target="RFC9334"/> within a composition.
For this document, a Component Attester is an entity which produces a single Evidence which can be appraised by a Component Verifier.</t>
          </dd>
          <dt>Composite Evidence (CE):</dt>
          <dd>
            <t>Evidence produced by a Composite Attester.</t>
          </dd>
          <dt>Partial Evidence (PE):</dt>
          <dd>
            <t>Extract from a Composite Evidence.
It consists of at least one or more Component Evidence.</t>
          </dd>
          <dt>Lead Verifier (LV):</dt>
          <dd>
            <t>A Verifier which acts as a main Verifier to receive Composite Evidence from a Composite Attester in a Hierarchical pattern <xref target="sec-lead-verifier"/>.</t>
          </dd>
          <dt>Component Verifier (CV):</dt>
          <dd>
            <t>A Verifier which is responsible for the Verification of one single component or a layer.</t>
          </dd>
          <dt>Partial Attestation Results (PAR):</dt>
          <dd>
            <t>Partial Attestation Results are produced by a Component Verifier, and contain partial results from at least one or more Component Attesters.</t>
          </dd>
          <dt>Aggregated Attestation Results (AAR):</dt>
          <dd>
            <t>Aggregated Attestation Results refer to a collection of Attestation Results produced upon completion of appraisal of a Composite Attester.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="sec-multi-verifier">
      <name>Multi Verifier topological patterns</name>
      <t>A Composite Attester has multiple Component Attesters.
Each Attester requires a different set of Verifiers.
Hence multiple Verifiers collaborate to appraise a Composite Attester.</t>
      <section anchor="sec-lead-verifier">
        <name>Hierarchical Pattern</name>
        <t>The figure below shows the block diagram of a Hierarchical Pattern.</t>
        <figure anchor="fig-h-pattern">
          <name>Hierarchical Pattern</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="400" width="536" viewBox="0 0 536 400" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,128 L 8,192" fill="none" stroke="black"/>
                <path d="M 136,128 L 136,192" fill="none" stroke="black"/>
                <path d="M 216,128 L 216,192" fill="none" stroke="black"/>
                <path d="M 256,48 L 256,128" fill="none" stroke="black"/>
                <path d="M 256,192 L 256,272" fill="none" stroke="black"/>
                <path d="M 312,80 L 312,120" fill="none" stroke="black"/>
                <path d="M 312,200 L 312,240" fill="none" stroke="black"/>
                <path d="M 344,128 L 344,192" fill="none" stroke="black"/>
                <path d="M 424,32 L 424,96" fill="none" stroke="black"/>
                <path d="M 424,128 L 424,192" fill="none" stroke="black"/>
                <path d="M 424,224 L 424,288" fill="none" stroke="black"/>
                <path d="M 528,32 L 528,96" fill="none" stroke="black"/>
                <path d="M 528,128 L 528,192" fill="none" stroke="black"/>
                <path d="M 528,224 L 528,288" fill="none" stroke="black"/>
                <path d="M 424,32 L 528,32" fill="none" stroke="black"/>
                <path d="M 256,48 L 416,48" fill="none" stroke="black"/>
                <path d="M 312,80 L 424,80" fill="none" stroke="black"/>
                <path d="M 424,96 L 528,96" fill="none" stroke="black"/>
                <path d="M 8,128 L 136,128" fill="none" stroke="black"/>
                <path d="M 216,128 L 344,128" fill="none" stroke="black"/>
                <path d="M 424,128 L 528,128" fill="none" stroke="black"/>
                <path d="M 136,144 L 208,144" fill="none" stroke="black"/>
                <path d="M 344,144 L 416,144" fill="none" stroke="black"/>
                <path d="M 144,176 L 216,176" fill="none" stroke="black"/>
                <path d="M 352,176 L 424,176" fill="none" stroke="black"/>
                <path d="M 8,192 L 136,192" fill="none" stroke="black"/>
                <path d="M 216,192 L 344,192" fill="none" stroke="black"/>
                <path d="M 424,192 L 528,192" fill="none" stroke="black"/>
                <path d="M 424,224 L 528,224" fill="none" stroke="black"/>
                <path d="M 312,240 L 424,240" fill="none" stroke="black"/>
                <path d="M 256,272 L 416,272" fill="none" stroke="black"/>
                <path d="M 424,288 L 528,288" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="424,272 412,266.4 412,277.6" fill="black" transform="rotate(0,416,272)"/>
                <polygon class="arrowhead" points="424,144 412,138.4 412,149.6" fill="black" transform="rotate(0,416,144)"/>
                <polygon class="arrowhead" points="424,48 412,42.4 412,53.6" fill="black" transform="rotate(0,416,48)"/>
                <polygon class="arrowhead" points="360,176 348,170.4 348,181.6" fill="black" transform="rotate(180,352,176)"/>
                <polygon class="arrowhead" points="320,200 308,194.4 308,205.6" fill="black" transform="rotate(270,312,200)"/>
                <polygon class="arrowhead" points="320,120 308,114.4 308,125.6" fill="black" transform="rotate(90,312,120)"/>
                <polygon class="arrowhead" points="216,144 204,138.4 204,149.6" fill="black" transform="rotate(0,208,144)"/>
                <polygon class="arrowhead" points="152,176 140,170.4 140,181.6" fill="black" transform="rotate(180,144,176)"/>
                <g class="text">
                  <text x="284" y="36">PE_1</text>
                  <text x="468" y="68">Verifier</text>
                  <text x="512" y="68">1</text>
                  <text x="392" y="100">PAR_1</text>
                  <text x="472" y="116">...</text>
                  <text x="156" y="132">CE</text>
                  <text x="372" y="132">PE_i</text>
                  <text x="52" y="164">Attester</text>
                  <text x="96" y="164">/</text>
                  <text x="116" y="164">RP</text>
                  <text x="244" y="164">Lead</text>
                  <text x="300" y="164">Verifier</text>
                  <text x="468" y="164">Verifier</text>
                  <text x="512" y="164">i</text>
                  <text x="192" y="196">AAR</text>
                  <text x="392" y="196">PAR_i</text>
                  <text x="472" y="212">...</text>
                  <text x="392" y="228">PAR_n</text>
                  <text x="468" y="260">Verifier</text>
                  <text x="512" y="260">n</text>
                  <text x="284" y="292">PE_n</text>
                  <text x="32" y="308">Legend:</text>
                  <text x="8" y="324">-</text>
                  <text x="32" y="324">CE:</text>
                  <text x="88" y="324">Composite</text>
                  <text x="164" y="324">Evidence</text>
                  <text x="8" y="340">-</text>
                  <text x="36" y="340">AAR:</text>
                  <text x="100" y="340">Aggregated</text>
                  <text x="192" y="340">Attestation</text>
                  <text x="272" y="340">Results</text>
                  <text x="8" y="356">-</text>
                  <text x="40" y="356">PE_i:</text>
                  <text x="96" y="356">Partial</text>
                  <text x="164" y="356">Evidence</text>
                  <text x="212" y="356">of</text>
                  <text x="244" y="356">i-th</text>
                  <text x="304" y="356">Component</text>
                  <text x="380" y="356">Attester</text>
                  <text x="8" y="372">-</text>
                  <text x="44" y="372">PAR_i:</text>
                  <text x="104" y="372">Partial</text>
                  <text x="184" y="372">Attestation</text>
                  <text x="264" y="372">Results</text>
                  <text x="308" y="372">of</text>
                  <text x="340" y="372">i-th</text>
                  <text x="400" y="372">Component</text>
                  <text x="476" y="372">Attester</text>
                  <text x="8" y="388">-</text>
                  <text x="52" y="388">Verifier</text>
                  <text x="96" y="388">i</text>
                  <text x="112" y="388">:</text>
                  <text x="140" y="388">This</text>
                  <text x="204" y="388">represents</text>
                  <text x="288" y="388">Component</text>
                  <text x="372" y="388">Verifier-i</text>
                  <text x="448" y="388">(CV-i).</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                                 PE_1               .------------.
                               .------------------->|            |
                               |                    | Verifier 1 |
                               |      .-------------+            |
                               |      |       PAR_1 '------------'
                               |      v                  ...
.---------------. CE      .----+----------. PE_i    .------------.
|               +-------->|               +-------->|            |
| Attester / RP |         | Lead Verifier |         | Verifier i |
|               |<--------+               |<--------+            |
'---------------'     AAR '----+----------'   PAR_i '------------'
                               |      ^                  ...
                               |      |       PAR_n .------------.
                               |      '-------------+            |
                               |                    | Verifier n |
                               '------------------->|            |
                                 PE_n               '------------'
Legend:
- CE: Composite Evidence
- AAR: Aggregated Attestation Results
- PE_i: Partial Evidence of i-th Component Attester
- PAR_i: Partial Attestation Results of i-th Component Attester
- Verifier i : This represents Component Verifier-i (CV-i).
]]></artwork>
          </artset>
        </figure>
        <t>The following sub-sections describe the various roles that exist in this pattern.</t>
        <section anchor="lead-verifier">
          <name>Lead Verifier</name>
          <t>In this topological pattern, there is an Entity known as Lead Verifier (LV).</t>
          <t>Lead Verifier is the central entity in communication with the Attester (directly in passport model or indirectly via the Relying Party in background-check model, (<xref target="RFC9334"/>)).
It receives Attestation Evidence from a Composite Attester.</t>
          <section anchor="integrity-verification-of-composite-evidence">
            <name>Integrity Verification of Composite Evidence</name>
            <t>The Lead Verifier must verify the integrity of the Composite Evidence.
There are many ways to integrity protect the Composite Evidence, as given below.</t>
            <ol spacing="normal" type="1"><li>
                <t>If the Composite Attestation Evidence is signed, LV must verify the integrity of the Evidence by validating the signature.
If signature verification fails, the Verification is terminated.</t>
              </li>
              <li>
                <t>If the Composite Attestation Evidence is not signed but each Component Evidence, is signed and there is a cryptographic binding to link the individual components, then the LV must verify the binding.
If the cryptographic binding fails, the Verification is terminated.</t>
              </li>
            </ol>
            <t>Otherwise LV performs the following steps.</t>
            <ul spacing="normal">
              <li>
                <t>Lead Verifier has the required knowledge to break down the Composite Evidence into Partial Evidence.
It decodes the Composite Evidence to extract the Component Attesters' Evidence.
This may lead to "N" Partial Evidence, one for each Component Attester.</t>
              </li>
              <li>
                <t>The Lead Verfier relays each Partial Evidence (PE) to its own Component Verifier (CV).
In certain topologies, it is possible that the PE is not protected.
In such cases, the Lead verifier must wrap the Partial Evidence (example PE_1) in a signed Conceptual Message Wrapper (CMW), and then send it to its Component Verifier (example CV 1).
Upon successful appraisal of Evidence by the CV, it receives signed Component Attester Attestation Results also known as Partial Attestation Results.
There are many protocols to determine how a Lead Verifier can select the Component Verifiers (e.g., static configuration or a discovery protocol).
Verifier discovery is out of scope for this specification.</t>
              </li>
              <li>
                <t>Once the Lead Verifier receives Partial Attestation Results from all the Verifiers, it combines the results from each Verifier to construct Aggregated Attestation Results (AAR).
The Lead verifier may apply its own policies and also add extra claims as part of its appraisal.</t>
              </li>
              <li>
                <t>Lead Verifier signs the final AAR and conveys it to the Attester (in Passport model) or to the Relying Party (in background check model).</t>
              </li>
            </ul>
            <t>The overall verdict may be dependent on the Appraisal Policy of the Lead Verifier.</t>
          </section>
        </section>
        <section anchor="component-verifier">
          <name>Component Verifier</name>
          <t>The role of a Component Verifier is to receive Partial Evidence from the Lead Verifier and produce signed Partial Attestation Results to the Lead Verifier.</t>
        </section>
        <section anchor="trust-relationships">
          <name>Trust Relationships</name>
          <t>In this topology the Lead Verifier is trusted by Component Verifiers (example CV 1).
Component Verifiers are provisioned with the Trust Anchors (see <xref target="RFC6024"/>) for the Lead Verifier.</t>
          <t>Also, each of the Component Verifier is trusted by the Lead Verifier.
Lead Verifier is provisioned with the Trust Anchors (see <xref target="RFC6024"/>) for CV 1..N.</t>
        </section>
      </section>
      <section anchor="sec-verifier-cascade">
        <name>Cascaded Pattern</name>
        <t>The figure below shows the block diagram of a Cascaded Pattern.</t>
        <figure anchor="fig-c-pattern">
          <name>Cascaded Pattern</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="320" width="584" viewBox="0 0 584 320" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,80 L 8,144" fill="none" stroke="black"/>
                <path d="M 136,80 L 136,144" fill="none" stroke="black"/>
                <path d="M 200,32 L 200,208" fill="none" stroke="black"/>
                <path d="M 248,32 L 248,208" fill="none" stroke="black"/>
                <path d="M 352,32 L 352,208" fill="none" stroke="black"/>
                <path d="M 400,32 L 400,208" fill="none" stroke="black"/>
                <path d="M 528,32 L 528,208" fill="none" stroke="black"/>
                <path d="M 576,32 L 576,208" fill="none" stroke="black"/>
                <path d="M 200,32 L 248,32" fill="none" stroke="black"/>
                <path d="M 352,32 L 400,32" fill="none" stroke="black"/>
                <path d="M 528,32 L 576,32" fill="none" stroke="black"/>
                <path d="M 8,80 L 136,80" fill="none" stroke="black"/>
                <path d="M 136,96 L 192,96" fill="none" stroke="black"/>
                <path d="M 248,96 L 344,96" fill="none" stroke="black"/>
                <path d="M 400,96 L 440,96" fill="none" stroke="black"/>
                <path d="M 488,96 L 520,96" fill="none" stroke="black"/>
                <path d="M 144,128 L 200,128" fill="none" stroke="black"/>
                <path d="M 256,128 L 352,128" fill="none" stroke="black"/>
                <path d="M 408,128 L 440,128" fill="none" stroke="black"/>
                <path d="M 488,128 L 528,128" fill="none" stroke="black"/>
                <path d="M 8,144 L 136,144" fill="none" stroke="black"/>
                <path d="M 200,208 L 248,208" fill="none" stroke="black"/>
                <path d="M 352,208 L 400,208" fill="none" stroke="black"/>
                <path d="M 528,208 L 576,208" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="528,96 516,90.4 516,101.6" fill="black" transform="rotate(0,520,96)"/>
                <polygon class="arrowhead" points="416,128 404,122.4 404,133.6" fill="black" transform="rotate(180,408,128)"/>
                <polygon class="arrowhead" points="352,96 340,90.4 340,101.6" fill="black" transform="rotate(0,344,96)"/>
                <polygon class="arrowhead" points="264,128 252,122.4 252,133.6" fill="black" transform="rotate(180,256,128)"/>
                <polygon class="arrowhead" points="200,96 188,90.4 188,101.6" fill="black" transform="rotate(0,192,96)"/>
                <polygon class="arrowhead" points="152,128 140,122.4 140,133.6" fill="black" transform="rotate(180,144,128)"/>
                <g class="text">
                  <text x="224" y="52">V</text>
                  <text x="376" y="52">V</text>
                  <text x="552" y="52">V</text>
                  <text x="224" y="68">e</text>
                  <text x="376" y="68">e</text>
                  <text x="552" y="68">e</text>
                  <text x="156" y="84">CE</text>
                  <text x="224" y="84">r</text>
                  <text x="272" y="84">CE,</text>
                  <text x="312" y="84">PAR_1</text>
                  <text x="376" y="84">r</text>
                  <text x="424" y="84">CE,</text>
                  <text x="476" y="84">PAR_1..2</text>
                  <text x="552" y="84">r</text>
                  <text x="224" y="100">i</text>
                  <text x="376" y="100">i</text>
                  <text x="464" y="100">...</text>
                  <text x="552" y="100">i</text>
                  <text x="52" y="116">Attester</text>
                  <text x="96" y="116">/</text>
                  <text x="116" y="116">RP</text>
                  <text x="224" y="116">f</text>
                  <text x="376" y="116">f</text>
                  <text x="552" y="116">f</text>
                  <text x="224" y="132">i</text>
                  <text x="376" y="132">i</text>
                  <text x="464" y="132">...</text>
                  <text x="552" y="132">i</text>
                  <text x="176" y="148">AAR</text>
                  <text x="224" y="148">e</text>
                  <text x="328" y="148">AAR</text>
                  <text x="376" y="148">e</text>
                  <text x="468" y="148">AAR=PAR_1..n</text>
                  <text x="552" y="148">e</text>
                  <text x="224" y="164">r</text>
                  <text x="376" y="164">r</text>
                  <text x="552" y="164">r</text>
                  <text x="224" y="196">1</text>
                  <text x="376" y="196">2</text>
                  <text x="552" y="196">n</text>
                  <text x="32" y="244">Legend:</text>
                  <text x="8" y="260">-</text>
                  <text x="32" y="260">CE:</text>
                  <text x="88" y="260">Composite</text>
                  <text x="164" y="260">Evidence</text>
                  <text x="8" y="276">-</text>
                  <text x="36" y="276">AAR:</text>
                  <text x="100" y="276">Aggregated</text>
                  <text x="192" y="276">Attestation</text>
                  <text x="272" y="276">Results</text>
                  <text x="8" y="292">-</text>
                  <text x="36" y="292">PAR:</text>
                  <text x="88" y="292">Partial</text>
                  <text x="168" y="292">Attestation</text>
                  <text x="248" y="292">Results</text>
                  <text x="8" y="308">-</text>
                  <text x="52" y="308">Verifier</text>
                  <text x="96" y="308">i</text>
                  <text x="112" y="308">:</text>
                  <text x="140" y="308">This</text>
                  <text x="204" y="308">represents</text>
                  <text x="288" y="308">Component</text>
                  <text x="372" y="308">Verifier-i</text>
                  <text x="448" y="308">(CV-i).</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                        .-----.            .-----.               .-----.
                        |  V  |            |  V  |               |  V  |
                        |  e  |            |  e  |               |  e  |
.---------------. CE    |  r  | CE, PAR_1  |  r  | CE, PAR_1..2  |  r  |
|               +------>|  i  +----------->|  i  +----- ... ---->|  i  |
| Attester / RP |       |  f  |            |  f  |               |  f  |
|               |<------+  i  |<-----------+  i  |<---- ... -----+  i  |
'---------------'   AAR |  e  |        AAR |  e  |  AAR=PAR_1..n |  e  |
                        |  r  |            |  r  |               |  r  |
                        |     |            |     |               |     |
                        |  1  |            |  2  |               |  n  |
                        '-----'            '-----'               '-----'

Legend:
- CE: Composite Evidence
- AAR: Aggregated Attestation Results
- PAR: Partial Attestation Results
- Verifier i : This represents Component Verifier-i (CV-i).
]]></artwork>
          </artset>
        </figure>
        <t>In this topological pattern, the Attestation Verification happens in sequence.
Verifiers are cascaded to perform the Attestation Appraisal.
Each Verifier in the chain has the knowledge to derive or extract the Partial Evidence, which it can appraise, from the Composite Evidence.</t>
        <t>Attester may send the Composite Evidence (CE) to any of the Verifiers (directly in the passport model, or indirectly via the Relying Party in the background-check model).
The Verifier which processes the Composite Evidence, acts as the first Verifier CV1 and verifies the signature on the Evidence, if present.
It extracts the Partial Evidence from the Composite Evidence, performs Appraisal of the Component Attester whose Reference Values and Endorsements are in its database.
Once the appraisal is complete, it forwards the Composite Evidence and signed Partial Attestation Results to the subsequent Verifier.</t>
        <t>The process is repeated, until the entire appraisal is complete.
The last Verifier, i.e.
CV-N, completes its Appraisal of the Partial Evidence, that it can appraise.
It has now all the signed Partial Attestation Results and creates the Aggregated Attestation Results (AAR),  which is a collection of all signed PARs.
To ensure the integrity of the collection, CV-N signs the AAR.
It returns the AAR to the N-1 Verifier (from where it received the Composite Evidence and Partial AR).
The process is repeated, i.e.
AAR is returned in the chain until the Verifier, which recieved the initial Composite Evidence is reached.
At this point in time the Aggregated Attestation Results are signed and the AAR is sent to the Attester (in Passport Model) or Relying Party (in background check model).</t>
        <t>As shown in the picture, the Partial Attestation Results and Composite Evidence are transmitted to a chain of Verifiers, till the Appraisal is complete.
Upon completion, the last Verifier in the chain combines the incoming Partial Attestation Results with the results from its own Evidence Appraisal, and passes the Aggregated Attestation Results to the Verifier from which it receives Composite Evidence.
The visibility of evidence within this pattern is subject to the privacy policies described in <xref target="sec-privacy"/>.</t>
        <t>There are many protocols to determine how a Verifier can select the next Verifier to route the CE and PAR (e.g., (e.g., static configuration or a discovery protocol).
Verifier discovery is out of scope for this specification.</t>
        <section anchor="trust-relationships-1">
          <name>Trust Relationships</name>
        </section>
        <section anchor="verifiers">
          <name>Verifiers</name>
          <t>In the cascaded pattern, the communicating Verifiers must trust each other.
Each Verifier  should have the trust anchor for the Verifier it is communicating to (i.e. either sending information or receiving information).
This prevents man in the middle attack for the Partial Attestation Results received by a Verifier or an Aggregated Attestation Results (AAR) which it receives in the return path.</t>
        </section>
        <section anchor="relying-party-and-verifiers">
          <name>Relying Party and Verifiers</name>
          <t>In the cascaded pattern, the RP may communicate with any Verifier and thus receive its Attestation Results.
Hence RP  must trust all the Verifiers (in a Distributed Trust Model) or only trust the  first Verifier (in a Delegated Trust Model).</t>
        </section>
      </section>
      <section anchor="hybrid-pattern">
        <name>Hybrid Pattern</name>
        <t>In a particular deployment, there is a possibility that the two models presented above can be combined to produce a hybrid pattern.
Note that there are many ways to combine the two models.
The figure below illustrates an example where Verifier 2 in the Cascaded Pattern becomes the Lead Verifier for the remaining Verifers from 3, to N.</t>
        <figure anchor="fig-hybrid-pattern">
          <name>Hybrid Pattern</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="272" width="568" viewBox="0 0 568 272" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 24,32 L 24,64" fill="none" stroke="black"/>
                <path d="M 152,32 L 152,64" fill="none" stroke="black"/>
                <path d="M 216,32 L 216,64" fill="none" stroke="black"/>
                <path d="M 224,160 L 224,192" fill="none" stroke="black"/>
                <path d="M 328,112 L 328,152" fill="none" stroke="black"/>
                <path d="M 360,32 L 360,64" fill="none" stroke="black"/>
                <path d="M 368,160 L 368,192" fill="none" stroke="black"/>
                <path d="M 408,32 L 408,64" fill="none" stroke="black"/>
                <path d="M 416,160 L 416,192" fill="none" stroke="black"/>
                <path d="M 456,72 L 456,112" fill="none" stroke="black"/>
                <path d="M 496,72 L 496,152" fill="none" stroke="black"/>
                <path d="M 552,32 L 552,64" fill="none" stroke="black"/>
                <path d="M 560,160 L 560,192" fill="none" stroke="black"/>
                <path d="M 24,32 L 152,32" fill="none" stroke="black"/>
                <path d="M 216,32 L 360,32" fill="none" stroke="black"/>
                <path d="M 408,32 L 552,32" fill="none" stroke="black"/>
                <path d="M 168,48 L 200,48" fill="none" stroke="black"/>
                <path d="M 368,48 L 400,48" fill="none" stroke="black"/>
                <path d="M 24,64 L 152,64" fill="none" stroke="black"/>
                <path d="M 216,64 L 360,64" fill="none" stroke="black"/>
                <path d="M 408,64 L 552,64" fill="none" stroke="black"/>
                <path d="M 328,112 L 456,112" fill="none" stroke="black"/>
                <path d="M 224,160 L 368,160" fill="none" stroke="black"/>
                <path d="M 416,160 L 560,160" fill="none" stroke="black"/>
                <path d="M 224,192 L 368,192" fill="none" stroke="black"/>
                <path d="M 416,192 L 560,192" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="504,152 492,146.4 492,157.6" fill="black" transform="rotate(90,496,152)"/>
                <polygon class="arrowhead" points="504,72 492,66.4 492,77.6" fill="black" transform="rotate(270,496,72)"/>
                <polygon class="arrowhead" points="464,72 452,66.4 452,77.6" fill="black" transform="rotate(270,456,72)"/>
                <polygon class="arrowhead" points="408,48 396,42.4 396,53.6" fill="black" transform="rotate(0,400,48)"/>
                <polygon class="arrowhead" points="376,48 364,42.4 364,53.6" fill="black" transform="rotate(180,368,48)"/>
                <polygon class="arrowhead" points="336,152 324,146.4 324,157.6" fill="black" transform="rotate(90,328,152)"/>
                <polygon class="arrowhead" points="208,48 196,42.4 196,53.6" fill="black" transform="rotate(0,200,48)"/>
                <polygon class="arrowhead" points="176,48 164,42.4 164,53.6" fill="black" transform="rotate(180,168,48)"/>
                <g class="text">
                  <text x="88" y="52">Attester/RP</text>
                  <text x="276" y="52">Verifier</text>
                  <text x="320" y="52">1</text>
                  <text x="452" y="52">Verifier</text>
                  <text x="496" y="52">2</text>
                  <text x="512" y="52">/</text>
                  <text x="532" y="52">LV</text>
                  <text x="284" y="180">Verifier</text>
                  <text x="328" y="180">3</text>
                  <text x="392" y="180">...</text>
                  <text x="484" y="180">Verifier</text>
                  <text x="528" y="180">N</text>
                  <text x="32" y="212">Legend:</text>
                  <text x="8" y="228">-</text>
                  <text x="32" y="228">LV:</text>
                  <text x="68" y="228">Lead</text>
                  <text x="124" y="228">Verifier</text>
                  <text x="8" y="244">-</text>
                  <text x="52" y="244">Verifier</text>
                  <text x="108" y="244">1..N</text>
                  <text x="136" y="244">:</text>
                  <text x="184" y="244">Component</text>
                  <text x="264" y="244">Verifiers</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
  .---------------.       .-----------------.     .-----------------.
  |  Attester/RP  | <---> |   Verifier 1    |<--->| Verifier 2 / LV |
  '---------------'       '-----------------'     '-----------------'
                                                        ^    ^
                                                        |    |
                                        .---------------'    |
                                        |                    |
                                        v                    v
                           .-----------------.     .-----------------.
                           |   Verifier 3    | ... |    Verifier N   |
                           '-----------------'     '-----------------'
Legend:
- LV: Lead Verifier
- Verifier 1..N : Component Verifiers

]]></artwork>
          </artset>
        </figure>
      </section>
    </section>
    <section anchor="sec-freshness">
      <name>Freshness</name>
      <t>The Verifier needs to ensure that the claims included in the Evidence reflect the latest state of the Attester.
As per RATS Architecture, the recommended freshness is ascertained using either Synchronised Clocks, Epoch IDs, or nonce, generated by the Verifier.
When Verifiers generates freshness, in a Multi Verifier System, the generation and subsequent verification of freshness during appraisal, depends on the specific mechanism utilized.
For example, when nonce is employed, in a Heirarchical pattern, one possible approach is for the Lead Verifier to autonomously generate a unique nonce, or autonomously by the first Verifier (in Cascaded pattern) communicating with the Attester.
This approach simplifies the freshness appraisal procedure by centralizing the processing of the challenge.
The other alternative may be for a LV to generate a nonce by aggregating the nonces generated by each participating Component Verifier.
In this case, the freshness appraisal procedure requires obtaining the individual component nonces received as a claim from PAR and recomputing the aggregated nonce.
Conversely, when Synchronized Clocks or Epoch IDs are employed, the verification of freshness can be performed independently by each individual Component Verifier.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The Verifier is not part of the Attester’s Trusted Computing Base (TCB), but acts as a critical component in the Relying Party’s trust decision chain.
Therefore, its security directly affects the trustworthiness of the entire remote attestation process.
When multiple Verifiers coordinate to conduct an appraisal, this may increase the attack surface, depending on the system architecture and trust assumptions.</t>
      <t>Any mistake in the appraisal procedure conducted by one or more Verifiers could lead to severe security implications, such as incorrect Attestation Results of a component or a composition to the Relying party.
This section details the security threats and mitigation strategies specific to the multi-verifier topologies described in this document.
In addition to the considerations herein, Verifiers MUST follow the guidance detailed in the Security and Privacy considerations of a RATS Verifier as detailed in (<xref section="11" sectionFormat="of" target="I-D.draft-ietf-rats-corim"/>) and the RATS Architecture (Section <xref target="RFC9334" section="11" sectionFormat="bare"/> and Section <xref target="RFC9334" section="12" sectionFormat="bare"/> of <xref target="RFC9334"/>).</t>
      <section anchor="adversarial-model">
        <name>Adversarial Model</name>
        <t>The security analysis in this section assumes that attackers may:</t>
        <ol spacing="normal" type="1"><li>
            <t>Eavesdrop on any communication channel between Verifiers.</t>
          </li>
          <li>
            <t>Inject, modify, replay, or delay messages traversing the network.</t>
          </li>
          <li>
            <t>Compromise one or more Verifiers in the ecosystem, attempting to leak sensitive information (e.g., Evidence, Reference Values) or manipulate Attestation Results.</t>
          </li>
          <li>
            <t>Perform Man-in-the-Middle (MitM) attacks between any two communicating entities.</t>
          </li>
        </ol>
        <t>The system is designed to be resilient under the assumption that the cryptographic keys used for signing Evidence and Attestation Results (by authentic entities) are not compromised.</t>
      </section>
      <section anchor="general-considerations">
        <name>General Considerations</name>
        <t>All communications between entities (Attester-Verifier, Verifier-Verifier, Verifier-RP) MUST be secured using mutually authenticated, confidential, and integrity-protected channels (e.g., TLS).</t>
        <t>It is recommended that any two verifiers establishing a communication channel perform mutual attestation before exchanging any attestation messages.</t>
      </section>
      <section anchor="security-for-topological-patterns">
        <name>Security for Topological Patterns</name>
        <section anchor="hierarchical-pattern">
          <name>Hierarchical Pattern</name>
          <t>The hierarchical pattern introduces a central trust entity, the Lead Verifier (LV).
The security of the entire system relies on the integrity and correct operation of the LV.</t>
          <section anchor="threats-and-mitigations">
            <name>Threats and Mitigations</name>
            <section anchor="lv-compromise">
              <name>LV Compromise</name>
              <t><strong>Threat:</strong> A compromised LV can orchestrate attacks, such as approving malicious attestations, wrongly aggregating attestation results or leaking sensitive evidence.
This is a single point of failure from the trust perspective.</t>
              <t><strong>Mitigation:</strong> The LV MUST be hardened and operate and store its Keys in a secure environment.
Its operation SHOULD be auditable.
Component Verifiers are provisioned with the Trust Anchors (see <xref target="RFC6024"/>) for the Lead Verifier so that they can establish required trust in the authority of the LV.</t>
            </section>
            <section anchor="communication-security-lv-cv">
              <name>Communication Security (LV &lt;-&gt; CV)</name>
              <t><strong>Threat:</strong> Eavesdropping or manipulation of evidence/results in transit.</t>
              <t><strong>Mitigation:</strong> All communications between the LV and CVs MUST be mutually authenticated and confidential (e.g., using TLS with mutual authentication).
This ensures integrity, confidentiality, and authenticity of the messages exchanged between the Verifiers.</t>
            </section>
            <section anchor="evidence-integrity-and-origin-authentication-lv-cv">
              <name>Evidence Integrity and Origin Authentication (LV -&gt; CV)</name>
              <t><strong>Threat:</strong> The LV could forward manipulated evidence to a CV, or an attacker could inject fake evidence.</t>
              <t><strong>Mitigation:</strong> The conceptual message containing the Partial Evidence MUST be integrity-protected and authenticated.
If the Partial Evidence is natively signed by the Component Attester at origin, the CV can verify it directly.
If the Partial Evidence lacks inherent signatures (e.g., in UCCS), the LV MUST sign the Partial Evidence using a key that the CV trusts.
This prevents any on-path attacker from altering the Partial Evidence.</t>
            </section>
            <section anchor="results-integrity-and-origin-authentication-cv-lv">
              <name>Results Integrity and Origin Authentication (CV -&gt; LV)</name>
              <t><strong>Threat:</strong> Partial Attestation Results could be manipulated in transit or forged by a malicious CV.</t>
              <t><strong>Mitigation:</strong> Each Partial Attestation Result MUST be digitally signed by the CV.
 LV should maintain a list of trust anchors for the CV's it communicates with.
The LV MUST validate the signature using the required trust anchor for the CV, before adding the Partial Attestation Results to the Aggregated Attestation Results.</t>
            </section>
            <section anchor="replay-attacks">
              <name>Replay Attacks</name>
              <t><strong>Threat:</strong> An adversary Component Verifier replays old Evidence or Attestation Results.</t>
              <t><strong>Mitigation:</strong>  Freshness is enforced based on the selected mechanism described in <xref target="sec-freshness"/>.</t>
            </section>
          </section>
        </section>
        <section anchor="cascaded-pattern">
          <name>Cascaded Pattern</name>
          <t>The cascaded pattern distributes trust but requires each Verifier in the chain to be trusted to correctly handle and forward Attestation messages.
The chain's security is only as strong as its weakest link.</t>
          <section anchor="threats-and-mitigations-1">
            <name>Threats and Mitigations</name>
            <section anchor="verifier-compromise">
              <name>Verifier Compromise</name>
              <t><strong>Threat:</strong> Any compromised Verifier in the chain can block, delay, or manipulate the attestation process.
It can inject false partial results, drop evidence, or leak sensitive information.</t>
              <t><strong>Mitigation:</strong> Relying Parties and Verifiers MUST be configured with strict trust policies defining the allowed paths and trusted Verifiers.
Operations SHOULD be logged for auditability.</t>
            </section>
            <section anchor="communication-security">
              <name>Communication Security</name>
              <t><strong>Threat:</strong> Eavesdropping or manipulation of evidence and results between Verifiers.</t>
              <t><strong>Mitigation:</strong> Each hop between Verifiers MUST be secured with mutually authenticated and confidential channels (e.g., TLS with mutual authentication).</t>
            </section>
            <section anchor="evidence-and-results-protection">
              <name>Evidence and Results Protection</name>
              <t><strong>Threat:</strong> Lack of end-to-end security allows intermediate Verifiers to manipulate evidence or results that are not intended for them to appraise.</t>
              <t><strong>Mitigation:</strong> End-to-end integrity protection is RECOMMENDED.
The Composite Evidence SHOULD be signed by the Attester.
Partial and Aggregated Attestation Results SHOULD be signed by the Verifier that generated them.
This allows subsequent Verifiers and the Relying Party to verify that results have not been tampered with by intermediate nodes.</t>
            </section>
            <section anchor="replay-attacks-1">
              <name>Replay Attacks</name>
              <t><strong>Threat:</strong> An adversary replays old Evidence or Attestation Results.</t>
              <t><strong>Mitigation:</strong> Freshness is enforced in accordance with the mechanisms described in <xref target="sec-freshness"/>.</t>
            </section>
          </section>
        </section>
        <section anchor="security-of-the-hybrid-pattern">
          <name>Security of the Hybrid Pattern</name>
          <t>As the hybrid pattern is the composition of  hierarchical pattern and cascade pattern, all the threats and mitigations that are applicable for these two patterns are also applicable for the general hybrid pattern.</t>
        </section>
      </section>
    </section>
    <section anchor="sec-privacy">
      <name>Privacy Considerations</name>
      <t>The appraisal of a Composite Attester requires exchange of attestation-related messages, for example, Partial Evidence and Partial Attestation Results, among multiple Verifiers.
This can potentially leak sensitive information about the Attester's configuration, identities and the nature of composition.</t>
      <t>However, when carefully designed, a multi-verifier architecture can actually mitigate these privacy concerns.
By distributing appraisal responsibilities and ensuring that no single Verifier has access to the full set of Evidence, the risk of comprehensive device profiling or tracking is reduced.</t>
      <t>Nonetheless, such benefits depend on strong implementation practices.</t>
      <ul spacing="normal">
        <li>
          <t>Minimization: Attesters SHOULD only generate Evidence that is strictly necessary for the appraisal policy.
Verifiers SHOULD only request necessary claims.
Refer to (<xref target="I-D.draft-ietf-rats-reference-interaction-models"/>) and (<xref target="I-D.draft-ietf-rats-pkix-key-attestation"/>) for further guidance on procedures for minimization of Evidence.</t>
        </li>
        <li>
          <t>Confidentiality: Evidence containing sensitive information SHOULD be encrypted so that it can only be accessed by the intended Verifier and not by any unauthorised parties (including other Verifiers in the hierarchy, cascade or hybrid pattern).
This is crucial in multi-tenant environments.</t>
        </li>
        <li>
          <t>Policy Handling: Verifiers SHOULD be careful not to leak their internal appraisal policies (e.g., through error messages or timing side channels) when communicating with other Verifiers or Attesters, as this information could be exploited by an attacker to manipulate appraisal.</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank
Simon Frost,
Usama Sardar,
Paul Howard,
Mark Novak,
Michael Richardson,
&amp;
Yaron Sheffer
for their reviews and suggestions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="I-D.draft-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="RFC6024">
          <front>
            <title>Trust Anchor Management Requirements</title>
            <author fullname="R. Reddy" initials="R." surname="Reddy"/>
            <author fullname="C. Wallace" initials="C." surname="Wallace"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>A trust anchor represents an authoritative entity via a public key and associated data. The public key is used to verify digital signatures, and the associated data is used to constrain the types of information for which the trust anchor is authoritative. A relying party uses trust anchors to determine if a digitally signed object is valid by verifying a digital signature using the trust anchor's public key, and by enforcing the constraints expressed in the associated data for the trust anchor. This document describes some of the problems associated with the lack of a standard trust anchor management mechanism and defines requirements for data formats and push-based protocols designed to address these problems. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6024"/>
          <seriesInfo name="DOI" value="10.17487/RFC6024"/>
        </reference>
        <reference anchor="I-D.draft-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="28" month="October" 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-20"/>
        </reference>
        <reference anchor="I-D.draft-ietf-rats-pkix-key-attestation">
          <front>
            <title>Evidence Encoding for Hardware Security Modules</title>
            <author fullname="Jean-Pierre Fiset" initials="J." surname="Fiset">
              <organization>Crypto4A Inc.</organization>
            </author>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Cryptic Forest Software</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of the Bundeswehr Munich</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Monty Wiseman" initials="M." surname="Wiseman">
         </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
         </author>
            <date day="5" month="July" year="2026"/>
            <abstract>
              <t>   This document specifies a vendor-agnostic format for Evidence
   produced and verified within a PKIX context.  The Evidence produced
   this way includes claims collected about a cryptographic module, such
   as a Hardware Security Module (HSM), and elements found within it
   such as cryptographic keys.

   One scenario envisaged is that the state information about the
   cryptographic module can be securely presented to a remote operator
   or auditor in a vendor-agnostic verifiable format.  A more complex
   scenario would be to submit this Evidence to a Certification
   Authority to aid in determining whether the storage properties of
   this key meet the requirements of a given certificate profile.

   This specification also offers a format for requesting a
   cryptographic module to produce Evidence tailored for expected use.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-pkix-key-attestation-07"/>
        </reference>
      </references>
    </references>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="T." surname="Fossati" fullname="Thomas Fossati">
        <organization>Linaro</organization>
        <address>
          <email>Thomas.Fossati@linaro.org</email>
        </address>
      </contact>
      <contact initials="T." surname="Giannetsos" fullname="Thanassis Giannetsos">
        <organization>UBITECH Ltd.</organization>
        <address>
          <email>agiannetsos@ubitech.eu</email>
        </address>
      </contact>
      <contact initials="S." surname="Bellock" fullname="Steven Bellock">
        <organization>NVIDIA</organization>
        <address>
          <email>sbellock@nvidia.com</email>
        </address>
      </contact>
      <contact initials="G." surname="Arfaoui" fullname="Ghada Arfaoui">
        <organization>ORANGE</organization>
        <address>
          <email>ghada.arfaoui@orange.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
cYPXSJ5ec5Iub3w2YUe8tPvFJWrYHxXpgTeQ+lieYy5Xtj5v9jMLXYUp+zaD
7cFvjG18sHPoPgoWcgONrAvVSM9EogtNaNn4dYjZU4Pi8eCnTTCRGkns0DrL
fcEGAScnmPWnwqxj5zM4WJCt6PSvs1LpC2nSQCmu6Aaz2PC3UMg+0UtE7p3v
wwySdQ5vZtWIlfu30noWhAs2mQJMnYOxCvNklNinoNQU6HVOFfWUn0o4w4Ib
jbkgKrx3Bgx+tG5GwmgEhlVuVv6bfP7UuROvZK355HDzm1HGiqWRYdNiXDcK
LMc/UVqLTnbGJ1HiyZH80fILM3CpRvNrP6PmB/dcwgTvNL+n56JD87qkvLdP
6DjTLSVPlb4RFC093qExnihqhjeiRnaRT9/PE0ExwfMYbsfG1BKZkjp+WjhG
yYhagu7yerlRc0gKZkN+b51LyIpaSYtRuMdFLUQvtOZOKsQJV4zbiDiF9Tcl
236INc7KmhoMG8mkjgAqbC8dd0hGJMmR3bfoEtD3Rzs7jMYpc7H7PgMJk4o+
meA/7tAiFRMiCRV/UyvRZYkb5kJJBX35g7YA+xs742xf5Ea3AqONF69AqcSc
ztxQNizsovfi9Yd1VhhJxcYBoqbNFZ/GfpqcTM4nnWwHXJ/M3HEpbln98TCv
V1M0Gn77hDwI1wmHtxn8Is7ymlv5cIHKbwdXBr+u9rosbDUcvLdqpZIr8MNU
OQT7CTANUhR+DgdnqrxNzos7dQt/G0CSzpJL/H+ZWhDMg38c/E6VSLBLjc3e
BnP/MYsS5JC+t1IGBPa+lfz1/wNWWpL6x3cAAA==

-->

</rfc>
