<?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.29 (Ruby 3.4.4) -->
<?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-deshpande-rats-multi-verifier-02" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title abbrev="RATS Many-Verifiers">Remote Attestation with Multiple Verifiers</title>
    <seriesInfo name="Internet-Draft" value="draft-deshpande-rats-multi-verifier-02"/>
    <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/>
    <area>Security</area>
    <workgroup>RATS</workgroup>
    <abstract>
      <?line 60?>

<t>IETF RATS Architecture, defines the key role of a Verifier.  In a complex system, this role needs to be performed by multiple Verfiers coordinating together to assess the full trustworthiness of an Attester. This document focuses on various topological patterns for a multiple Verifier system.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/ietf-rats/draft-deshpande-multi-verifier"/>.</t>
    </note>
  </front>
  <middle>
    <?line 64?>

<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 conclude 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 wide varieties of shape and form. For example Attesters can be endpoints (edge or IoT devices) or complex machines in the cloud. Composite Attester <xref target="sec-glossary"/>, generate 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 booted on the main CPU, while another AE might measure and attest to what was booted machine's GPU. Throughout this document we use the term Component Attester <xref target="sec-glossary"/> to address the sub-entity or an individual layer 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. Please 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 various topological patterns of multiple Verifiers that work in a coordinated manner to conduct appraisal of a Composite Attester to produce an 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 producing, aggregating, or administering Attesters (Reference Value Providers)</t>
        </li>
        <li>
          <t>Endorsements from trusted supply chain actors producing, certifying, or compliance checking Attesters (Endorsers)</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 are linked to the shape of the Attesters.
Typically, Composite Attesters come with a varying degree of heterogeneity of Evidence formats, depending on the type of Attesting Environments that come with each Component Attester, for example, CPU variants or GPU/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 Attesters 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 Values Provider may not wish to reveal its Reference Values or their lifecycle to a monolithic Verifier.</t>
        </li>
        <li>
          <t>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>
        </li>
        <li>
          <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>
        </li>
      </ol>
    </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 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 or a Layered Attester or any composition involving a combination of one or more Composite Devices or Layered Attesters.</t>
          </dd>
          <dt>Component Attester:</dt>
          <dd>
            <t>A Component Attester is a single Attester of a Composite Attester. For this document, a Component Attester is an entity which produces a single Evidence which can be appraised by a Verifier.</t>
          </dd>
          <dt>Composite Evidence:</dt>
          <dd>
            <t>Evidence produced by a Composite Attester.</t>
          </dd>
          <dt>Lead Verifier:</dt>
          <dd>
            <t>A Verifier which acts as a Main Verifier to receive Composite Evidence from a Composite Attester.</t>
          </dd>
          <dt>Aggregated Attestation Results:</dt>
          <dd>
            <t>An Aggregated Attestation Results (AAR) refers 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>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="528" width="584" viewBox="0 0 584 528" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,176 L 8,256" fill="none" stroke="black"/>
                <path d="M 104,176 L 104,256" fill="none" stroke="black"/>
                <path d="M 280,32 L 280,512" fill="none" stroke="black"/>
                <path d="M 368,32 L 368,512" fill="none" stroke="black"/>
                <path d="M 480,48 L 480,144" fill="none" stroke="black"/>
                <path d="M 480,192 L 480,288" fill="none" stroke="black"/>
                <path d="M 480,400 L 480,496" fill="none" stroke="black"/>
                <path d="M 528,288 L 528,400" fill="none" stroke="black"/>
                <path d="M 576,48 L 576,144" fill="none" stroke="black"/>
                <path d="M 576,192 L 576,288" fill="none" stroke="black"/>
                <path d="M 576,400 L 576,496" fill="none" stroke="black"/>
                <path d="M 280,32 L 368,32" fill="none" stroke="black"/>
                <path d="M 480,48 L 576,48" fill="none" stroke="black"/>
                <path d="M 368,96 L 472,96" fill="none" stroke="black"/>
                <path d="M 376,128 L 480,128" fill="none" stroke="black"/>
                <path d="M 480,144 L 576,144" fill="none" stroke="black"/>
                <path d="M 8,176 L 104,176" fill="none" stroke="black"/>
                <path d="M 104,192 L 272,192" fill="none" stroke="black"/>
                <path d="M 480,192 L 576,192" fill="none" stroke="black"/>
                <path d="M 368,208 L 472,208" fill="none" stroke="black"/>
                <path d="M 112,240 L 280,240" fill="none" stroke="black"/>
                <path d="M 8,256 L 104,256" fill="none" stroke="black"/>
                <path d="M 376,256 L 480,256" fill="none" stroke="black"/>
                <path d="M 480,288 L 576,288" fill="none" stroke="black"/>
                <path d="M 480,400 L 576,400" fill="none" stroke="black"/>
                <path d="M 368,416 L 472,416" fill="none" stroke="black"/>
                <path d="M 376,448 L 480,448" fill="none" stroke="black"/>
                <path d="M 480,496 L 576,496" fill="none" stroke="black"/>
                <path d="M 280,512 L 368,512" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="480,416 468,410.4 468,421.6" fill="black" transform="rotate(0,472,416)"/>
                <polygon class="arrowhead" points="480,208 468,202.4 468,213.6" fill="black" transform="rotate(0,472,208)"/>
                <polygon class="arrowhead" points="480,96 468,90.4 468,101.6" fill="black" transform="rotate(0,472,96)"/>
                <polygon class="arrowhead" points="384,448 372,442.4 372,453.6" fill="black" transform="rotate(180,376,448)"/>
                <polygon class="arrowhead" points="384,256 372,250.4 372,261.6" fill="black" transform="rotate(180,376,256)"/>
                <polygon class="arrowhead" points="384,128 372,122.4 372,133.6" fill="black" transform="rotate(180,376,128)"/>
                <polygon class="arrowhead" points="280,192 268,186.4 268,197.6" fill="black" transform="rotate(0,272,192)"/>
                <polygon class="arrowhead" points="120,240 108,234.4 108,245.6" fill="black" transform="rotate(180,112,240)"/>
                <g class="text">
                  <text x="412" y="84">Evidence</text>
                  <text x="456" y="84">1</text>
                  <text x="524" y="100">Verifier</text>
                  <text x="568" y="100">1</text>
                  <text x="404" y="148">AR</text>
                  <text x="424" y="148">1</text>
                  <text x="160" y="180">Composite</text>
                  <text x="236" y="180">Evidence</text>
                  <text x="412" y="196">Evidence</text>
                  <text x="456" y="196">2</text>
                  <text x="60" y="212">Attester</text>
                  <text x="308" y="212">Lead</text>
                  <text x="44" y="228">or</text>
                  <text x="164" y="228">Aggregated</text>
                  <text x="324" y="228">Verifier</text>
                  <text x="36" y="244">RP</text>
                  <text x="524" y="244">Verifier</text>
                  <text x="568" y="244">2</text>
                  <text x="168" y="260">Attestation</text>
                  <text x="244" y="260">Result</text>
                  <text x="160" y="276">(AAR)</text>
                  <text x="396" y="276">AR</text>
                  <text x="416" y="276">2</text>
                  <text x="412" y="404">Evidence</text>
                  <text x="456" y="404">N</text>
                  <text x="524" y="452">Verifier</text>
                  <text x="568" y="452">N</text>
                  <text x="388" y="468">AR</text>
                  <text x="408" y="468">N</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                                  +----------+
                                  |          |             +-----------+
                                  |          |             |           |
                                  |          | Evidence 1  |           |
                                  |          +------------>+ Verifier 1|
                                  |          |             |           |
                                  |          +<------------+           |
                                  |          |   AR 1      +-----------+
                                  |          |
+-----------+  Composite Evidence |          |
|           +-------------------->|          | Evidence 2  +-----------+
|  Attester |                     | Lead     +------------>+           |
|   or      |  Aggregated         | Verifier |             |           |
|  RP       |<--------------------+          |             | Verifier 2|
+-----------+  Attestation Result |          +<------------+           |
                 (AAR)            |          |  AR 2       |           |
                                  |          |             +-----+-----+
                                  |          |                   |
                                  |          |                   |
                                  |          |                   .
                                  |          |                   |
                                  |          |                   |
                                  |          |                   |
                                  |          | Evidence N  +-----+-----+
                                  |          +------------>+           |
                                  |          |             |           |
                                  |          +<------------+ Verifier N|
                                  |          | AR N        |           |
                                  |          |             |           |
                                  |          |             +-----------+
                                  +----------+
]]></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.</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).
It receives Attestation Evidence from a Composite Attester. If the Composite Attestation Evidence is signed, then it validates the integrity of the Evidence by validating the signature. If signature verification fails, the Verification is terminated. Otherwise it performs the following steps.</t>
          <ul spacing="normal">
            <li>
              <t>Lead Verifier has the knowledge about the overall structure of the Composite Evidence. It decodes the Composite Evidence to extract the Component Attester Evidence. This may lead to "N" Evidence, one for each Component Attester.</t>
            </li>
            <li>
              <t>Lead Verifier delegates each Component Attester Evidence to their own Verifier and receives Component Attester Attestation Results after successful Appraisal of Evidence.</t>
            </li>
            <li>
              <t>Once the Lead Verifier receives Attestation Results from all the Verifiers, it combines the results from each Verifier to construct a 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 conveys the AAR 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>
          <t>In certain topologies, it is possible that only the Composite Evidence is signed to provide the overall integrity, while the individual Component Attester Evidence (example Evidence 1) is not protected. In such cases, the Lead Verifer upon processing of Composite Evidence may wrap the Component Attester Evidence (example Evidence 1) in a signed Conceptual Message Wrapper (CMW), and send it to each Verifier (example Verifier 1).</t>
        </section>
        <section anchor="verifier-for-component-attester">
          <name>Verifier for Component Attester</name>
          <t>The role of a Component Attester Verifier is to receive Component Attester Evidence from the lead Verifier and produce Attestation Results to the Lead Verifier.</t>
        </section>
        <section anchor="trust-relationships">
          <name>Trust Relationships</name>
          <t>In this topology the Lead Verifier is fully trusted by Component Attester Verifiers (example Verifier 1).</t>
          <t>Also, each of the Component Attester Verifier is fully trusted by the Lead Verifier. Lead Verifier is provisioned with the Trust Anchors for Verifier 1..N.</t>
        </section>
      </section>
      <section anchor="cascaded-pattern-sec-verifier-cascade-">
        <name>Cascaded Pattern {: #sec-verifier-cascade }</name>
        <t>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="208" width="752" viewBox="0 0 752 208" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 8,160" fill="none" stroke="black"/>
                <path d="M 80,48 L 80,160" fill="none" stroke="black"/>
                <path d="M 256,32 L 256,192" fill="none" stroke="black"/>
                <path d="M 352,32 L 352,192" fill="none" stroke="black"/>
                <path d="M 440,32 L 440,192" fill="none" stroke="black"/>
                <path d="M 536,32 L 536,192" fill="none" stroke="black"/>
                <path d="M 648,32 L 648,192" fill="none" stroke="black"/>
                <path d="M 744,32 L 744,192" fill="none" stroke="black"/>
                <path d="M 256,32 L 352,32" fill="none" stroke="black"/>
                <path d="M 440,32 L 536,32" fill="none" stroke="black"/>
                <path d="M 648,32 L 744,32" fill="none" stroke="black"/>
                <path d="M 8,48 L 80,48" fill="none" stroke="black"/>
                <path d="M 80,80 L 248,80" fill="none" stroke="black"/>
                <path d="M 352,80 L 432,80" fill="none" stroke="black"/>
                <path d="M 536,80 L 640,80" fill="none" stroke="black"/>
                <path d="M 88,144 L 256,144" fill="none" stroke="black"/>
                <path d="M 360,144 L 440,144" fill="none" stroke="black"/>
                <path d="M 544,144 L 648,144" fill="none" stroke="black"/>
                <path d="M 8,160 L 80,160" fill="none" stroke="black"/>
                <path d="M 256,192 L 352,192" fill="none" stroke="black"/>
                <path d="M 440,192 L 536,192" fill="none" stroke="black"/>
                <path d="M 648,192 L 744,192" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="648,80 636,74.4 636,85.6" fill="black" transform="rotate(0,640,80)"/>
                <polygon class="arrowhead" points="552,144 540,138.4 540,149.6" fill="black" transform="rotate(180,544,144)"/>
                <polygon class="arrowhead" points="440,80 428,74.4 428,85.6" fill="black" transform="rotate(0,432,80)"/>
                <polygon class="arrowhead" points="368,144 356,138.4 356,149.6" fill="black" transform="rotate(180,360,144)"/>
                <polygon class="arrowhead" points="256,80 244,74.4 244,85.6" fill="black" transform="rotate(0,248,80)"/>
                <polygon class="arrowhead" points="96,144 84,138.4 84,149.6" fill="black" transform="rotate(180,88,144)"/>
                <g class="text">
                  <text x="136" y="68">Composite</text>
                  <text x="212" y="68">Evidence</text>
                  <text x="388" y="68">(CE)</text>
                  <text x="580" y="68">(CE)</text>
                  <text x="140" y="100">(CE)</text>
                  <text x="384" y="100">Partial</text>
                  <text x="428" y="100">AR</text>
                  <text x="576" y="100">Partial</text>
                  <text x="620" y="100">AR</text>
                  <text x="44" y="116">Attester</text>
                  <text x="300" y="116">Verifier</text>
                  <text x="344" y="116">1</text>
                  <text x="484" y="116">Verifier</text>
                  <text x="528" y="116">2</text>
                  <text x="692" y="116">Verifier</text>
                  <text x="736" y="116">N</text>
                  <text x="36" y="132">or</text>
                  <text x="140" y="132">Aggregated</text>
                  <text x="28" y="148">RP</text>
                  <text x="136" y="164">Attestation</text>
                  <text x="216" y="164">Results</text>
                  <text x="392" y="164">(AAR)</text>
                  <text x="576" y="164">(AAR)</text>
                  <text x="136" y="180">(AAR)</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
                               +-----------+          +-----------+             +-----------+
+--------+                     |           |          |           |             |           |
|        |  Composite Evidence |           |  (CE)    |           |   (CE)      |           |
|        +-------------------->+           +--------->+           +------------>+           |
|        |     (CE)            |           |Partial AR|           | Partial AR  |           |
|Attester|                     | Verifier 1|          | Verifier 2|             | Verifier N|
|  or    |  Aggregated         |           |          |           |             |           |
| RP     +<--------------------+           +<---------+           +<------------+           |
+--------+ Attestation Results |           |  (AAR)   |           |  (AAR)      |           |
              (AAR)            |           |          |           |             |           |
                               +-----------+          +-----------+             +-----------+
]]></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 possess the knowledge of the entire Composite Attester topology.</t>
        <t>Attester may send the Composite Evidence(CE) to any of the Verifier (directly in the passport model, or indirectly via the Relying Party in the background-check model). The Verifier which processes the Composite Evidence, Verifies the signature on the Evidence, if present. It decodes 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 partial Attestation Results to the subsequent Verifier.</t>
        <t>The process is repeated, until the entire appraisal is complete. The last Verifier, i.e. Verifier-N, completes its Appraisal of the Component Attester Evidence and returns the complete Attestation Results to the N-1 Verifier, which passed Evidence to it. The N-1 Verifier then simply passes the Aggregated Attestation Results(AAR) from where it received its Combined Evidence. Alternatively, it may also modify the AAR based on the inspection of received AAR. For example, it may add its own Verifier Added Claims (policy claims) and produce a new AAR. The process is repeated, until the Verifier, which recieved the initial Evidence is reached. At this point in time the Aggregated Attestation Results are signed and the Aggregated Attestation Results are sent to the Attester (in Passport Model) or Relying Party (in background check model).</t>
        <t>As shown in the picture, the partial results and Combined Evidence is transmitted to a chain of Verifier, till the Appraisal is complete.
The Verifier combines the incoming partial results, combines the results from it own Evidence Appraisal and passes the Aggregated Attestation Results to the Verifier from which it receives Combined Evidence.</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 fully trust each other. Each Verifier has 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 a 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 fully trusts all the Verifiers.</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. For example Verifier 2 in the Cascaded Pattern becomes the Lead Verifier for the remaining Verifers from 3, to N.</t>
      </section>
    </section>
    <section anchor="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, embedded in the Evidence.
In the case of Hierarchical Pattern, the Verification of Freshness should be checked by the Lead Verifier.</t>
      <t>In the Cascaded Pattern, the freshness is always checked by the first Verifier in communication with either the Attester (Passport Model) or Relying Party (Background Check Model).</t>
    </section>
    <section anchor="security-and-privacy-considerations">
      <name>Security and Privacy Considerations</name>
      <t>The Verifier is effectively part of the Attesters' and Relying Parties' trusted computing base (TCB). Any mistake in the appraisal procedure conducted by the Verifier could have security implications. For Security and Privacy considerations while conducting appraisal procedure the Verifiers described in this document MUST follow the guidance detailed in Security and Privacy considerations of a RATS Verifier as detailed in <xref section="11" sectionFormat="of" target="I-D.draft-ietf-rats-corim"/>.</t>
      <section anchor="conceptual-message-protection">
        <name>Conceptual Message Protection</name>
        <section anchor="hierarchical-pattern">
          <name>Hierarchical Pattern</name>
          <t>In this topology the Lead Verifier communicates with the Attester/RP and with other Verifiers.</t>
          <t>The Security and Privacy consideration for the messages between the Lead Verifier and the Attester/RP follows the guidance provided in RATS Architecture Section <xref target="RFC9334" section="11" sectionFormat="bare"/> and Section <xref target="RFC9334" section="12" sectionFormat="bare"/> of <xref target="RFC9334"/>.</t>
          <t>The Lead Verifier conveys Component Attester Evidence to each of the sub-Verifiers and receives partial
Attestation Results from them.</t>
          <ol spacing="normal" type="1"><li>
              <t>The communication among the Verifiers should use secure channels, such as TLS. This ensures confidentiality, integrity and authenticity of the message exchanged between the Verifiers.</t>
            </li>
            <li>
              <t>For integrity protection at the application layer, each partial Attestation Result Message is signed by a key known to the Lead Verfier.</t>
            </li>
            <li>
              <t>The Composite Attester Evidence contains Component Attester Evidence, each having signature
from the Attesting Environments that generated it. This ascertains the authenticity and integrity protection
of individual Evidence exchanged between the Verifier. However there may be cases (for example UCCS), where the
individual Evidence is not signed. In such scenarios, the Lead Verifier may add its own signature using a private key whose
public key is known to the sub Verifiers.</t>
            </li>
            <li>
              <t>Evidence might contain sensitive or confidential information, there might be a need for
confidentiality protection of the individual Evidence from Lead Verifier to sub Verifiers.
The Lead Verifier may choose to Encrypt the individual Evidence using the public Key of the Verifier it communicates.</t>
            </li>
          </ol>
          <t>If there isn't confidentiality protection of conceptual messages themselves,
the underlying conveyance protocol should provide these protections.</t>
        </section>
        <section anchor="cascaded-pattern">
          <name>Cascaded Pattern</name>
          <t>In this pattern, the Composite Evidence is received by each Verifier in the chain. As a result,
the Security and Privacy consideration of Evidence between the Attester/RP and each of the Verifier follows the guidance provided in RATS Architecture Section <xref target="RFC9334" section="11" sectionFormat="bare"/> and Section <xref target="RFC9334" section="12" sectionFormat="bare"/> of <xref target="RFC9334"/>.</t>
          <t>Partial and Aggregated Attestation Results are exchanged among the Verifiers.
It is TBD how the Security and Privacy of these messages can be ascertained.
Few possible options are listed below.</t>
          <ol spacing="normal" type="1"><li>
              <t>All the Verifiers in the Eco-System share a common Trust Anchor Store. The Sender Ensures the Confidentiality and Integrity of the Partial/Aggregated AAR. The receiver Verifies the Confidentiality of these messages using the Private Keys in its database. It Verifies the authenticity and integrity of these messages using the Trust Anchor Store Public Keys.</t>
            </li>
            <li>
              <t>The Verfier always communicates with a known Verifier in the chain. Hence it only maintains the trust roots for its communicating Verifier.</t>
            </li>
          </ol>
          <t>If there isn't confidentiality protection of conceptual messages themselves,
the underlying conveyance protocol should provide these protections</t>
          <t>These and new options will be discussed further in the RATS Working Group.</t>
        </section>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t><cref>TODO</cref></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>Intel</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="3" month="March" year="2025"/>
            <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-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>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81c23YbR3Z976+okA8WhwA8lJSLtRyPIZKymBEvIanxmrxk
FboLQA0b3T1d3YBgWV75kDzkW/Ip+ZKcS3V1VXcDpCxnZfRiAqjLqVPn7HMt
j8fjqNJVql6JW7XKKyWmVaVMJSudZ2Kjq6W4rNNKF6kSf1KlnmtVmkjOZqVa
w5Tp/Z24lNl23P6W5HEmV7BeUsp5NU6UWRYyS9S4lJUZr3Cx8dqOHv/+eZTI
CgZ/PJven3+KYviwyMvtK6GzeR7ponwlqrI21fPf//4bGCxLJV+JOxXXpa62
0SYvHxZlXhdMShQB4Vny7zLNM1hzq0xU6FdRJEQ5j1Viqm1qvxaiymPvTw0E
ZlXzhcnLqlRz4z5vV8HHqtSxGxznqxXMdb9W6kM1TrWpxjBtlqfwwzj/3TH8
ApxZyaLQ2YLHRrKulnkJBI7hV2ban/MFMEycNVyDH/ISxk/LlXhXJfBRraRO
YQEaOHHs/V6WqwnQ4i/2L3Um/m0ps0WzyttabpQW9ypeZnmaL7Qy4k0ps1iJ
u8l0cjd5P2l3EH+ps59w9sn3S5pnl7eLv83rRIp3cqbz5Fetv8QFJiktEO7g
DvBWZQ/itS4flnla/dTsAivW2TKfq1LcXdx7BC9h+GTGw3/63uhqMndDgVNR
FOcZ3N2srpDrYtxsc7/MVxIozY0BuYcFaSOZ6Z9IDV6JdzqTZU4/2L14ysRO
+T6lAROYFQXrykwao434QcssU5XJzcDq719f3J+fvsX7nfh7yIWb9X090xVw
daLqCP6hcpQrmL5WcA5x++b0mxcvXr4SpGKyjJfw5cX4bMIqqFU1Z+2L81Kv
Xgn6D/B5PBZyBtIs4yqKLs7v37BCT2EB3K2qSzUSiZrrDO6xWirxoLaizAEK
8rmQDg8msFkGn+HyACY+gLqYSq1GMANOTsMzBdoHeiZmShSqROJVImZbsfKw
heADFsnLBLhZgZrAjIWCfUucCoxUhsmY12nKsAAAALtk+AOSlFn0QprucXdQ
uRq1U8zhD5gvANTWstR5jeQUJKOxTEUhYV6ZGRhXwklWXcizZ5ow01Y6SVIQ
p0M4d1XmSR3jRUbRtB1fpHJrkCeweQkbEBs0cCnbDgHtHS8vvBUAKUqpjeV8
cy5YIBEF7Qm/+EvcKgNUm5HYLHW8FICUAtgC22uZplsgBUA3AdwiRrXzkFFK
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
fxGnUq8o6se2BWQFznIh8sDtxZje3NqmGLAlNknaAgsgw02AJ9SFYYeFIPIs
QBERoggBcyP3Te8Mng7wmItaeOm2qNUrF1j16KInwDBWEjG/0SCxcn0Yrk5P
4E45yx364/DHFn7x+0BPHf40bRMMSq4PYZ/QP2u6XdpI8ahpE4G9MI+JUHNh
yy6xNMoiU3taWI9SHzAeBZ7Kf/OhkyBDN6UsHsOBHVRxbYc4ccoZWDzdJWwp
Ab9+LDHRCzJxevnjEWeCDdyb7SMKxd+t3wayR9aUum8QZ/o0sqS0bXEDpwjs
ZSedteO8XJyGhdNA/P1OhSG9tHLelTs8xj1WulEDuESy1IXp+QXbAeCBX7Hh
butK5bPBKk2b+NnByimo/oi57huP3Zzq7do/WZ9U0gbs8oApzu3go0+zeIll
fbzGlrTJ5IqzT6fSxBILNy7zZPNrrls55hGYYXt6Aqq77Ocknzqx7iNf99zX
4+FBQ57vDof4kYjefb0/sYF/Pzs9Pxpavfl+5+rDeRD/RMePfd2PonzaAyIG
SEFbgR2F09uQ9vb7Hu2NOO9KvXjJssGvn+9MgFwR7ZyR2ZWPGTzH02/VpmmO
H0vS+CN2fD3u5lw8iRxCr67M2ITMjq97tAfH2pvO+TWcEfv/faGu+rFj3I0d
uxiCceNjEV3A4CBmWKJVzKh7xKi/1uxmt/BNPcDNhuhfcBjRW9P5PLZw4DUk
cVBIrVRNa2EYWYRtooMNbWyP0G4036GvQPZ72CsiJcZCQ+bcr9a6++Em/hKG
nKOnxpyE8TviThF0ZbnaG/o/OyMh1zhgwlCw8SvbcXoOiylDzY+PB1gu9Jt2
2zEHbO5mid0GvRYRdDWCfjkUDJ2Rh449R9jANGmjlbaupY2rbpNrC5RsJPYb
7CCWfJoGTHf7NNRljOJa+Z4NMt1yGTcuwTNHOByJGmQr9aVskEC+tVSadlGg
eeIpxPhq5EZzr+5TeBocrlRwp5lNlTR1/z0nvRqfeNRYScL3D0kQmuqKqfeH
cz7C6BVGYDTHhkp7wzmGSnI5N5wLcimUhI58ykFk4sXl05R6nLBPFJsHbcsx
xXegEHq+dSGa63TjIMQUbfHUbQLjuj3rdsEkcZGkO+Q0QWw65eDxWcEhF8eS
R4GLLKn/jRZ/gqB0eQ7UaYXUMeGaJNQPwqi3GIOhqe0jp8cABBTY4vc440mn
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
1OJMAAA=

-->

</rfc>
