<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.3.12 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>

<rfc ipr="trust200902" docName="draft-ietf-rats-tpm-based-network-device-attest-05" category="info">

  <front>
    <title abbrev="Network Device RIV">TPM-based Network Device Remote Integrity Verification</title>

    <author initials="G.C." surname="Fedorkow" fullname="Guy Fedorkow" role="editor">
      <organization>Juniper Networks, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <city></city>
          <region></region>
          <code></code>
          <country>US</country>
        </postal>
        <phone></phone>
        <email>gfedorkow@juniper.net</email>
      </address>
    </author>
    <author initials="E." surname="Voit" fullname="Eric Voit">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <city></city>
          <region></region>
          <code></code>
          <country>US</country>
        </postal>
        <phone></phone>
        <email>evoit@cisco.com</email>
      </address>
    </author>
    <author initials="J." surname="Fitzgerald-McKay" fullname="Jessica Fitzgerald-McKay">
      <organization>National Security Agency</organization>
      <address>
        <postal>
          <street></street>
          <city></city>
          <region></region>
          <code></code>
          <country>US</country>
        </postal>
        <phone></phone>
        <email>jmfitz2@nsa.gov</email>
      </address>
    </author>

    <date year="2020" month="October" day="26"/>

    <area>Security</area>
    <workgroup>RATS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document describes a workflow for remote attestation of the integrity of firmware and software
installed on network devices that contain Trusted Platform Modules <xref target="TPM1.2"/>, <xref target="TPM2.0"/>, as defined by 
the Trusted Computing Group (TCG).</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>There are many aspects to consider in fielding a trusted computing device,
from operating systems to applications.  Mechanisms to prove that
a device installed at a customer’s site is authentic (i.e., not counterfeit) and has
been configured with authorized software, all as part of a trusted supply chain, are just a few of the many aspects which need to be considered concurrently to have confidence that a device is truly trustworthy.</t>

<t>A generic architecture for remote attestation has been defined in <xref target="I-D.ietf-rats-architecture"/>.  Additionally, the use cases for remotely attesting networking devices are discussed within Section 6 of <xref target="I-D.richardson-rats-usecases"/>.  However, these documents do not provide sufficient guidance for network equipment vendors and operators to design, build, and deploy interoperable devices.</t>

<t>The intent of this document is to provide such guidance. It does this by outlining the Remote Integrity Verification (RIV) problem, and then identifies elements that are necessary to get the complete, scalable attestation procedure working with commercial networking products such as routers, switches and firewalls.   An underlying assumption will be the availability within the device of a Trusted Platform Module <xref target="TPM1.2"/>, <xref target="TPM2.0"/> compliant cryptoprocessor to enable the trustworthy remote assessment of the device’s software and hardware.</t>

<section anchor="terminology" title="Terminology">

<t>A number of terms are reused from <xref target="I-D.ietf-rats-architecture"/>.  These include: Appraisal Policy for Evidence, Attestation Result, Attester, Evidence, Reference Value, Relying Party, Verifier, and Verifier Owner.</t>

<t>Additionally, this document defines the following term:</t>

<t>Attestation: the process of generating, conveying and appraising
claims, backed by evidence, about device trustworthiness characteristics, including supply chain trust,
identity, device provenance, software configuration, device
composition, compliance to test suites, functional and assurance evaluations, etc.</t>

<t>The goal of attestation is simply to assure an administrator that the device configuration and software
that was launched when the device was last started is authentic and untampered-with.</t>

<t>Within the Trusted Computing Group (TCG) context, attestation is the process by
which an independent Verifier can obtain cryptographic proof as to the identity
of the device in question, and evidence of the integrity of software loaded on
that device when it started up, and then verify that what’s there matches the 
intended configuration.  For network equipment, a Verifier capability can
be embedded in a Network Management Station (NMS), a posture collection server,
or other network analytics tool (such as a software asset management solution,
or a threat detection and mitigation tool, etc.). While informally referred
to as attestation, this document focuses on a subset defined here as Remote
Integrity Verification (RIV).  RIV takes a network equipment centric perspective
that includes a set of protocols and procedures for determining whether a
particular device was launched with authentic software, starting from Roots
of Trust.  While there are many ways to accomplish attestation, RIV sets
out a specific set of protocols and tools that work in environments commonly
found in network equipment.  RIV does not cover other device characteristics
that could be attested (e.g., geographic location, connectivity; 
see <xref target="I-D.richardson-rats-usecases"/>), although it does provide evidence of a secure infrastructure
to increase the level of trust in other device characteristics attested
by other means (e.g., by Entity Attestation Tokens <xref target="I-D.ietf-rats-eat"/>).</t>

<t>In line with <xref target="I-D.ietf-rats-architecture"/> definitions, this document uses the term Endorser to refer to the 
role that signs identity and attestation certificates used by the Attester, while Reference Values are signed 
by a Reference Value Provider.  Typically, the manufacturer of an embedded device would be accepted as 
both the Endorser and Reference Value Provider, although the choice is ultimately up to the Verifier Owner.</t>

</section>
<section anchor="document-organization" title="Document Organization">

<t>The remainder of this document is organized into several sections:</t>

<t><list style="symbols">
  <t>The remainder of this section covers goals and requirements, plus a top-level description of RIV.</t>
  <t>The Solution Overview section outlines how Remote Integrity Verification works.</t>
  <t>The Standards Components section links components of RIV to normative standards.</t>
  <t>Privacy and Security shows how specific features of RIV contribute to the trustworthiness of the Attestation Result.</t>
  <t>Supporting material is in an appendix at the end.</t>
</list></t>

</section>
<section anchor="goals" title="Goals">

<t>Network operators benefit from a trustworthy attestation mechanism that provides
assurance that their network comprises authentic equipment, and has loaded software
free of known vulnerabilities and unauthorized tampering.  In line with the overall goal of assuring integrity, attestation can be used to assist in asset management, vulnerability and compliance
assessment, plus configuration management.</t>

<t>The RIV attestation workflow outlined in this document is intended to meet the following high-level goals:</t>

<t><list style="symbols">
  <t>Provable Device Identity - This specification requires that an Attester (i.e., the attesting device) includes
a cryptographic identifier unique to each device.  Effectively this means that the TPM
must be so provisioned during the manufacturing cycle.</t>
  <t>Software Inventory - A key goal is to identify the software release(s) installed
on the Attester, and to provide evidence that the software stored within hasn’t
been altered without authorization.</t>
  <t>Verifiability - Verification of software and configuration of the device shows
that the software that was authorized for installation by the administrator has actually been launched.</t>
</list></t>

<t>In addition, RIV is designed to operate either in a centralized environment, such as with a central authority that manages and configures a number of network devices, or ‘peer-to-peer’, where network devices independently verify one another to establish a trust relationship.  (See <xref target="peer-to-peer"/> below, and also <xref target="I-D.voit-rats-trusted-path-routing"/>)</t>

</section>
<section anchor="description-of-remote-integrity-verification-riv" title="Description of Remote Integrity Verification (RIV)">

<t>Attestation requires two interlocking mechanisms between the Attester network device and the Verifier:</t>

<t><list style="symbols">
  <t>Device Identity, the mechanism providing trusted identity, can reassure network
managers that the specific devices they ordered from authorized manufacturers for
attachment to their network are those that were installed, and that they continue to
be present in their network. As part of the mechanism for Device Identity,
cryptographic proof of the identity of the manufacturer is also provided.</t>
  <t>Software Measurement is the mechanism that reports the state of mutable software components
on the device, and can assure network managers that they have known, authentic
software configured to run in their network.</t>
</list></t>

<t>Using these two interlocking mechanisms, RIV is a component in a chain of procedures that can assure a network operator that the equipment in
their network can be reliably identified, and that authentic software of
a known version is installed on each device.  Equipment in the network includes
devices that make up the network itself, such as routers, switches and firewalls.</t>

<t>Software used to boot a device can be described as recording a chain
of measurements, anchored at the start by a Root of Trust for Measurement (see <xref target="root-of-trust"/>), each measuring the next stage,
that normally ends when the system software is loaded.
A measurement signifies the identity, integrity and version of each
software component registered with an Attester’s TPM <xref target="TPM1.2"/>, <xref target="TPM2.0"/>, so that a
subsequent verification stage can determine if the software
installed is authentic, up-to-date, and free of tampering.</t>

<t>RIV includes several major processes:</t>

<t><list style="numbers">
  <t>Generation of Evidence is the process whereby an Attester generates cryptographic
proof (Evidence) of claims about device properties. In particular, the
device identity and its software configuration are both of critical importance.</t>
  <t>Device Identification refers to the mechanism assuring the
Relying Party (ultimately, a network administrator) of the identity of devices that make up their network,
and that their manufacturers are known.</t>
  <t>Conveyance of Evidence
reliably transports the collected Evidence from Attester to a Verifier to allow a management station to perform
a meaningful appraisal in Step 4. The transport
is typically carried out via a management network. The channel must provide
integrity and authenticity, and, in some use cases, may also require confidentiality.</t>
  <t>Finally, Appraisal of Evidence occurs.  This is the process of verifying the Evidence received by
  a Verifier from the Attester, and using an Appraisal Policy to develop an
  Attestation Result, used to inform decision making.  In practice, this means comparing
  the Attester’s measurements reported as Evidence with the device configuration expected
  by the Verifier.  Subsequently the Appraisal Policy for Evidence might
  match Evidence found against Reference Values (aka Golden Measurements), which represent 
  the intended configured state of the connected device.</t>
</list></t>

<t>All implementations supporting this RIV specification require the support of the following three technologies:</t>

<t><list style="numbers">
  <t>Identity: Device identity MUST be based on IEEE 802.1AR Device Identity (DevID) <xref target="IEEE-802-1AR"/>,
coupled with careful supply-chain management by the manufacturer.  The
Initial DevID (IDevID) certificate contains a statement by the manufacturer that establishes
the identity of the device as it left the factory.  Some applications with
a more-complex post-manufacture supply chain (e.g., Value Added Resellers),
or with different privacy concerns, may want to use alternative mechanisms for platform
authentication (for example, TCG Platform Certificates <xref target="Platform-Certificates"/>, or 
post-manufacture installation of Local Device ID (LDevID)).</t>
  <t>Platform Attestation provides evidence of configuration of software elements
present in the device.  This form of attestation can be implemented
with TPM Platform Configuration Registers (PCRs), Quote and Log mechanisms, which provide cryptographically authenticated evidence
to report what software was started on the device through the boot cycle.  Successful attestation requires an 
unbroken chain from a boot-time root of trust through all layers of software needed to bring the device to an 
operational state, in which each stage measures components of the next stage, updates the attestation log, and 
extends hashes into a PCR.  The TPM can then report the hashes of all the measured hashes as signed evidence called a 
Quote (see <xref target="using-tpm"/> for an overview of TPM operation, or <xref target="TPM1.2"/> and <xref target="TPM2.0"/> for many more details).</t>
  <t>Signed Reference Values (aka Reference Integrity Measurements) must be conveyed from the Reference Value Provider (the entity accepted as the software authority,
often the manufacturer for embedded systems) to the Verifier.</t>
</list></t>

</section>
<section anchor="solution-requirements" title="Solution Requirements">

<t>Remote Integrity Verification must address the “Lying Endpoint”
problem, in which malicious software on an endpoint may subvert the
intended function, and also prevent the endpoint from reporting its compromised
status.  (See <xref target="security-cons"/> for further Security Considerations.)</t>

<t>RIV attestation is designed to be simple
to deploy at scale. RIV should work “out of the box” as far as possible,
that is, with the fewest possible provisioning steps or configuration databases
needed at the end-user’s site.  Network equipment is often required to “self-configure”,
to reliably reach out without manual intervention to prove its identity and
operating posture, then download its own configuration, a process which precludes pre-installation configuration. See <xref target="RFC8572"/> for an
example of Secure Zero Touch Provisioning.</t>

</section>
<section anchor="scope" title="Scope">

<t>The need for assurance of software integrity, addressed by Remote Attestation, is a very general problem that could apply to most network-connected computing devices.  However, this document includes several assumptions that limit the scope to network equipment (e.g., routers, switches and firewalls):</t>

<t><list style="symbols">
  <t>This solution is for use in non-privacy-preserving applications (for example,
networking, Industrial IoT), avoiding the need for a Privacy Certificate
Authority for attestation keys <xref target="AK-Enrollment"/> or TCG Platform
Certificates <xref target="Platform-Certificates"/>.</t>
  <t>This document assumes network protocols that are common in network equipment such as YANG <xref target="RFC7950"/> and NETCONF <xref target="RFC6241"/>,
but not generally used in other applications.</t>
  <t>The approach outlined in this document mandates the use of a compliant TPM <xref target="TPM1.2"/>, <xref target="TPM2.0"/>.</t>
</list></t>

<section anchor="out-of-scope" title="Out of Scope">

<t><list style="symbols">
  <t>Run-Time Attestation: The Linux Integrity Measurement Architecture attests each process launched
after a device is started (and is in scope for RIV), but continuous run-time attestation of Linux or 
other multi-threaded operating system processes after they’ve started considerably expands the scope of the problem.
Many researchers are working on that problem, but this document defers the problem of continuous, in-memory
run-time attestation.</t>
  <t>Multi-Vendor Embedded Systems: Additional coordination would be needed for
devices that themselves comprise hardware and software from multiple vendors,
integrated by the end user.  Although out of scope for this document, these
issues are accommodated in <xref target="I-D.ietf-rats-architecture"/>.</t>
  <t>Processor Sleep Modes: Network equipment typically does not “sleep”, so
sleep and hibernate modes are not considered.  Although out of scope
for RIV, Trusted Computing Group specifications do encompass sleep and hibernate
states.</t>
  <t>Virtualization and Containerization:  In a non-virtualized system, the host OS is
responsible for measuring each User Space file or process, but that’s the end of the
boot process.  For virtualized systems, the host OS must verify the hypervisor, 
which then manages its own chain of trust through the virtual machine.  Virtualization 
and containerization technologies are increasingly used in network equipment, but 
are not considered in this document.</t>
</list></t>

</section>
</section>
</section>
<section anchor="solution-overview" title="Solution Overview">

<section anchor="riv-software-configuration-attestation-using-tpm" title="RIV Software Configuration Attestation using TPM">

<t>RIV Attestation is a process which can be used to determine the identity of software running
on a specifically-identified device.  Remote Attestation is broken into two
phases, shown in Figure 1:</t>

<t><list style="symbols">
  <t>During system startup, each distinct software object is “measured” by the Attester.
The object’s identity, hash (i.e., cryptographic digest) and version information are recorded in a log.
Hashes are also extended, or cryptographically folded, into the TPM, in a way that can be used to validate the log entries.  The measurement process generally
follows the layered chain-of-trust model used in Measured Boot, where each stage
of the system measures the next one, and extends its measurement into the TPM,
before launching it.  See <xref target="I-D.ietf-rats-architecture"/>, section “Layered Attestation Environments,” for an architectural definition
of this model.</t>
  <t>Once the device is running and has operational network connectivity, a separate,
trusted Verifier will interrogate the network
device to retrieve the logs and a copy of the digests collected by hashing
each software object, signed by an attestation private key secured by, but never released by,
the TPM.  The YANG model described in <xref target="I-D.ietf-rats-yang-tpm-charra"/> facilitates this operation.</t>
</list></t>

<t>The result is that the Verifier can verify the device’s identity by checking
the Subject Field and signature of certificate containing the TPM’s attestation public key, and can
validate the software that was launched by verifying the correctness of the logs by comparing with the
signed digests from the TPM, and comparing digests in the log with
Reference Values.</t>

<t>It should be noted that attestation and identity are inextricably linked;
signed Evidence that a particular version of software was loaded is of little
value without cryptographic proof of the identity of the Attester producing
the Evidence.</t>

<figure title="Layered RIV Attestation Model" anchor="RIV-Attestation-Model"><artwork align="left"><![CDATA[
    +-------------------------------------------------------+
    | +--------+    +--------+   +--------+    +---------+  |
    | | BIOS   |--->| Loader |-->| Kernel |--->|Userland |  |
    | +--------+    +--------+   +--------+    +---------+  |
    |     |            |           |                        |
    |     |            |           |                        |
    |     +------------+-----------+-+                      |
    |                        Step 1  |                      |
    |                                V                      |
    |                            +--------+                 |
    |                            |  TPM   |                 |
    |                            +--------+                 |
    |   Router                       |                      |
    +--------------------------------|----------------------+
                                     |
                                     |  Step 2
                                     |    +-----------+
                                     +--->| Verifier  |
                                          +-----------+

    Reset---------------flow-of-time-during-boot--...------->
]]></artwork></figure>

<t>In Step 1, measurements are “extended”, or hashed, into the TPM as processes start, 
with the result that the PCR ends up containing a hash of all the measured hashes. In
Step 2, signed PCR digests are retrieved from the TPM for off-box analysis
after the system is operational.</t>

<section anchor="what-does-riv-attest" title="What Does RIV Attest?">

<t>TPM attestation is strongly focused on Platform Configuration Registers (PCRs), but those registers are only vehicles for certifying 
accompanying Evidence, conveyed in log entries.  It is the hashes in log entries that are extended into PCRs, where the final PCR values 
can be retrieved in the form of a structure called a Quote, signed by an Attestation key known only to the TPM.  The use of multiple PCRs serves only to 
provide some independence between different classes of object, so that one class of objects can be updated without changing the 
extended hash for other classes.  Although PCRs can be used for any purpose, this section outlines the objects within the 
scope of this document which may be extended into the TPM.</t>

<t>In general, assignment of measurements to PCRs is a policy choice made by the device manufacturer, selected to independently attest three classes of object:</t>

<t><list style="symbols">
  <t>Code, (i.e., instructions) to be executed by a CPU.</t>
  <t>Configuration - Many devices offer numerous options controlled by non-volatile configuration variables which can impact the device’s security posture.  These settings may have vendor defaults, but often can be changed by administrators, who may want to verify via attestation that the operational state of the settings match their intended state.</t>
  <t>Credentials - Administrators may wish to verify via attestation that public keys (and other credentials) outside the Root of Trust have not been subject to unauthorized tampering.  (By definition, keys protecting the root of trust can’t be verified independently.)</t>
</list></t>

<t>The TCG PC Client Platform Firmware Profile Specification <xref target="PC-Client-BIOS-TPM-2.0"/> gives considerable detail on what is to be 
measured during the boot phase of platform startup using a UEFI BIOS (www.uefi.org), but the goal is simply to measure every bit of 
code executed in the process of starting the device, along with any configuration information related to security posture, leaving 
no gap for unmeasured code to remain undetected, potentially subverting the chain.</t>

<t>For devices using a UEFI BIOS, <xref target="PC-Client-BIOS-TPM-2.0"/> gives detailed normative requirements for PCR usage.  For other 
platform architectures, the table in <xref target="Attested-Objects"/> gives non-normative guidance for PCR assignment that generalizes the specific 
details of <xref target="PC-Client-BIOS-TPM-2.0"/>.</t>

<t>By convention, most PCRs are assigned in pairs, which the even-numbered PCR used to measure executable code, and 
the odd-numbered PCR used to measure whatever data and configuration are associated with that code.  It is important 
to note that each PCR may contain results from dozens (or even thousands) of individual measurements.</t>

<figure title="Attested Objects" anchor="Attested-Objects"><artwork align="left"><![CDATA[
+------------------------------------------------------------------+
|                                            |    Assigned PCR #   |
| Function                                   | Code | Configuration|
--------------------------------------------------------------------
| Firmware Static Root of Trust, (i.e.,      |  0   |    1         |
| initial boot firmware and drivers)         |      |              |
--------------------------------------------------------------------
| Drivers and initialization for optional    |  2   |    3         |
| or add-in devices                          |      |              |
--------------------------------------------------------------------
| OS Loader code and configuration, (i.e.,   |  4   |    5         |
| the code launched by firmware) to load an  |      |              |
| operating system kernel. These PCRs record |      |              |
| each boot attempt, and an identifier for   |      |              |
| where the loader was found                 |      |              |
--------------------------------------------------------------------
| Vendor Specific Measurements during boot   |  6   |    6         |
--------------------------------------------------------------------
| Secure Boot Policy.  This PCR records keys |      |    7         |
| and configuration used to validate the OS  |      |              |
| loader                                     |      |              |
--------------------------------------------------------------------
| Measurements made by the OS Loader         |  8   |    9         |
| (e.g GRUB2 for Linux)                      |      |              |
--------------------------------------------------------------------
| Measurements made by OS (e.g., Linux IMA)  |  10  |    10        |
+------------------------------------------------------------------+
]]></artwork></figure>

</section>
<section anchor="notes-on-pcr-allocations" title="Notes on PCR Allocations">

<t>It is important to recognize that PCR[0] is critical.  The first measurement into PCR[0] is taken by the Root of Trust for 
Measurement, code which, by definition, cannot be verified by measurement.  This measurement 
establishes the chain of trust for all subsequent measurements.  If the PCR[0] measurement cannot be trusted, the 
validity of the entire chain is put into question.</t>

<t>Distinctions Between PCR[0], PCR[2], PCR[4] and PCR[8] are summarized below:</t>

<t><list style="symbols">
  <t>PCR[0] typically represents a consistent view of rarely-changed Host Platform boot components, allowing Attestation policies to be defined using the less changeable components of the transitive trust chain. This PCR 
typically provides a consistent view of the platform regardless of user selected options.</t>
  <t>PCR[2] is intended to represent a “user configurable” environment where the user has the ability to alter the 
components that are measured into PCR[2]. This is typically done by adding adapter cards, etc., into user-accessible 
PCI or other slots.  In UEFI systems these devices may be configured by Option ROMs measured into PCR[2] and 
executed by the BIOS.</t>
  <t>PCR[4] is intended to represent the software that manages the transition between the platform’s Pre-Operating System 
start and the state of a system with the Operating System present.  This PCR, along with PCR[5], identifies the initial 
operating system loader (e.g., GRUB for Linux).</t>
  <t>PCR[8] is used by the OS loader (e.g. GRUB) to record measurements of the various components of the operating system.</t>
</list></t>

<t>Although the TCG PC Client document specifies the use of the first eight PCRs very carefully to ensure interoperability 
among multiple 
UEFI BIOS vendors, it should be noted that embedded software vendors may have considerably more flexibility.  Verifiers 
typically need to know which log entries are consequential and which are not (possibly controlled by local policies) but 
the Verifier may not need to know what each log entry means or why it was assigned to a particular PCR.   Designers must
recognize that some PCRs may cover log entries that a particular Verifier considers critical and other log entries that
are not considered important, so differing PCR values may not on their own constitute a check for authenticity.  For example, in a UEFI system, some administrators may consider booting an image from a removable drive, something recorded in a PCR, to be a security violation, while others might consider that operation an authorized recovery procedure.</t>

<t>Designers may allocate particular events to specific PCRs in order to achieve a particular objective with local 
attestation, (e.g., allowing a procedure to execute, or releasing a paricular decryption key, only if a given PCR is in a given state).  It may also be important 
to designers to consider whether streaming notification of PCR updates is required (see <xref target="I-D.birkholz-rats-network-device-subscription"/>).  Specific 
log entries can only be validated if the Verifier receives every log entry affecting the relevant PCR, so (for example) 
a designer might want to separate rare, high-value events such as configuration changes, from high-volume, routine 
measurements such as IMA <xref target="IMA"/> logs.</t>

</section>
</section>
<section anchor="riv-keying" title="RIV Keying">

<t>RIV attestation relies on two credentials:</t>

<t><list style="symbols">
  <t>An identity key pair and matching certificate is required to certify the identity of the Attester itself.
RIV specifies the use of an IEEE 802.1AR Device Identity (DevID) <xref target="IEEE-802-1AR"/>,
signed by the device manufacturer, containing the device serial number.</t>
  <t>An Attestation key pair and matching certificate is required to sign the Quote generated by the TPM to report evidence
of software configuration.</t>
</list></t>

<t>In TPM application, both the Attestation private key and the DevID private key MUST be protected by the TPM.
Depending on other TPM configuration procedures,
the two keys are likely be different; some of the considerations are outlined in TCG
“TPM 2.0 Keys for Device Identity and Attestation” <xref target="Platform-DevID-TPM-2.0"/>.</t>

<t>The TCG TPM 2.0 Keys document <xref target="Platform-DevID-TPM-2.0"/> specifies further conventions for these keys:</t>

<t><list style="symbols">
  <t>When separate Identity and Attestation keys are used, the Attestation
Key (AK) and its X.509 certificate should parallel the DevID, with the same
device ID information as the DevID certificate (that is, the same Subject Name
and Subject Alt Name, even though the key pairs are different).  This allows
a quote from the device, signed by an AK, to be linked directly to the
device that provided it, by examining the corresponding AK certificate.  If the
Subject and Subject Alt Names in the AK certificate don’t match the corresponding DevID certifcate, or 
they’re  signed by differing authorities the Verifier may signal the detection of an Asokan-style man-in-the-middle attack (see <xref target="mitm"/>).</t>
  <t>Network devices that are expected to use secure zero touch provisioning as
specified in <xref target="RFC8572"/>)
MUST be shipped by the manufacturer with pre-provisioned keys (Initial DevID and Initial AK,
called IDevID and IAK).  IDevID and IAK certificates MUST both be signed by the Endorser 
(typically the device manufacturer).  Inclusion of an IDevID and IAK by a vendor does not
preclude a mechanism whereby an administrator can define Local Identity and
Attestation Keys (LDevID and LAK) if desired.</t>
</list></t>

</section>
<section anchor="riv-information-flow" title="RIV Information Flow">

<t>RIV workflow for network equipment is organized around a simple use case
where a network operator wishes to verify the integrity of software installed
in specific, fielded devices.  This use case implies several components:</t>

<t><list style="numbers">
  <t>The Attester, the device which the network operator wants to examine.</t>
  <t>A Verifier (which might be a network management station) somewhere separate
  from the Device that will retrieve the signed evidence and measurement logs, and analyze them to pass
  judgment on the security posture of the device.</t>
  <t>A Relying Party, which can act on Attestation Results.  Interaction between the Relying Party and the
  Verifier is considered out of scope for RIV.</t>
  <t>Signed Reference Integrity Manifests (RIMs),
containing Reference Values, can
  either be created by the device manufacturer
  and shipped along with the device as part of its software image, or alternatively,
  could be obtained several other ways (direct to the Verifier from the
  manufacturer, from a third party, from the owner’s observation of what’s
  thought to be a “known good system”, etc.).  Retrieving RIMs from the device
  itself allows attestation to be done in systems that may not have access
  to the public internet, or by other devices that are not management stations
  per se (e.g., a peer device; see <xref target="RIM-policy"/>).  If Reference Values are obtained from
  multiple sources, the Verifier may need to evaluate the relative level of
  trust to be placed in each source in case of a discrepancy.</t>
</list></t>

<t>These components are illustrated in <xref target="RIV-Reference-Configuration"/>.</t>

<t>A more-detailed taxonomy of terms is given in <xref target="I-D.ietf-rats-architecture"/></t>

<figure title="RIV Reference Configuration for Network Equipment" anchor="RIV-Reference-Configuration"><artwork align="left"><![CDATA[
+----------------+        +-------------+        +---------+--------+
|Reference Value |        | Attester    | Step 1 | Verifier|        |
|Provider        |        | (Device     |<-------| (Network| Relying|
|(Device         |        | under       |------->| Mngmt   | Party  |
|Manufacturer    |        | attestation)| Step 2 | Station)|        |
|or other        |        |             |        |         |        |
|authority)      |        |             |        |         |        |
+----------------+        +-------------+        +---------+--------+
       |                                             /\
       |                  Step 0                      |
       -----------------------------------------------

]]></artwork></figure>

<t><list style="symbols">
  <t>In Step 0, The Reference Value Provider (the device manufacturer or other authority) makes 
one or more Reference Integrity Manifests (RIMs), corresponding to the software image expected to be found on the device, signed by the Reference Value Provider, available to the Verifier 
(see <xref target="RIM-policy"/> for “in-band” and “out of band” ways to make this happen).</t>
  <t>In Step 1, 
the Verifier (Network Management Station), on behalf of a Relying Party, requests Identity,
Measurement Values, and possibly RIMs, from the Attester.</t>
  <t>In Step 2, the
Attester responds to the request by providing a DevID, quotes (measured values, signed by the Attester),
and optionally RIMs.</t>
</list></t>

<t>To achieve interoperability, the following standards components SHOULD be used:</t>

<t><list style="numbers">
  <t>TPM Keys MUST be configured according to <xref target="Platform-DevID-TPM-2.0"/>, or <xref target="Platform-ID-TPM-1.2"/>.</t>
  <t>For devices using UEFI and Linux, measurements of firmware and bootable modules SHOULD be taken according to TCG PC Client <xref target="PC-Client-BIOS-TPM-1.2"/> or <xref target="PC-Client-BIOS-TPM-2.0"/>, and Linux IMA <xref target="IMA"/></t>
  <t>Device Identity MUST be managed as specified in IEEE 802.1AR Device Identity certificates <xref target="IEEE-802-1AR"/>, with keys protected by TPMs.</t>
  <t>Attestation logs SHOULD be formatted according to the Canonical Event Log format <xref target="Canonical-Event-Log"/>, although other specialized formats may be used.  UEFI-based systems MAY use the TCG UEFI BIOS event log <xref target="EFI-TPM"/>.</t>
  <t>Quotes are retrieved from the TPM according to TCG TAP Information Model <xref target="TAP"/>.  While the TAP IM gives a protocol-independent description of the data elements involved, it’s important to note that quotes from the TPM are signed inside the TPM, so MUST be retrieved in a way that does not invalidate the signature, as specified in <xref target="I-D.ietf-rats-yang-tpm-charra"/>, to preserve the trust model.  (See <xref target="security-cons"/> Security Considerations).</t>
  <t>Reference Values SHOULD be encoded as SWID or CoSWID tags, as defined in
  the TCG RIM document <xref target="RIM"/>, compatible with NIST IR 8060 <xref target="NIST-IR-8060"/> and the IETF CoSWID draft <xref target="I-D.ietf-sacm-coswid"/>.  See <xref target="RIM-section"/>.</t>
</list></t>

</section>
<section anchor="riv-simplifying-assumptions" title="RIV Simplifying Assumptions">

<t>This document makes the following simplifying assumptions to reduce complexity:</t>

<t><list style="symbols">
  <t>The product to be attested MUST be shipped with an IEEE 802.1AR Device Identity and an Initial
Attestation Key (IAK) with certificate.  The IAK certificate MUST contain the same identity
information as the DevID (specifically, the same Subject Name and Subject
Alt Name, signed by the manufacturer), but it’s a type of key that can be
used to sign a TPM Quote, but not other objects (i.e., it’s marked as a TCG “Restricted” key; 
this convention is described in 
“TPM 2.0 Keys for Device Identity and Attestation” <xref target="Platform-DevID-TPM-2.0"/>). For network equipment, which is generally non-privacy-sensitive, shipping
a device with both an IDevID and an IAK already provisioned substantially
simplifies initial startup. Privacy-sensitive applications may use the TCG
Platform Certificate or other procedures to install identity credentials
into the device after manufacture.</t>
  <t>The product MUST be equipped with a Root of Trust for Measurement (RTM), Root of Trust
for Storage and Root of Trust for Reporting (as defined in <xref target="SP800-155"/>) that are
capable of conforming to TCG Trusted Attestation Protocol (TAP) Information Model <xref target="TAP"/>.</t>
  <t>The authorized software supplier MUST make available Reference Values
in the form of signed SWID or CoSWID tags <xref target="I-D.ietf-sacm-coswid"/>, <xref target="SWID"/>,
as described in TCG Reference Integrity Measurement Manifest Information Model <xref target="RIM"/>.</t>
</list></t>

<section anchor="RIM-section" title="Reference Integrity Manifests (RIMs)">

<t><xref target="I-D.ietf-rats-yang-tpm-charra"/> focuses on collecting and transmitting evidence in
the form of PCR measurements and attestation logs.  But the critical part
of the process is enabling the Verifier to decide whether the measurements
are “the right ones” or not.</t>

<t>While it must be up to network administrators to decide what they want on
their networks, the software supplier should supply the Reference Values, in 
signed Reference Integrity Manifests, that
may be used by a Verifier to determine if evidence shows known good, known
bad or unknown software configurations.</t>

<t>In general, there are two kinds of reference measurements:</t>

<t><list style="numbers">
  <t>Measurements of early system startup (e.g., BIOS, boot loader, OS kernel)
are essentially single-threaded, and executed exactly once, in a known sequence,
before any results could be reported.  In this case, while the method for
computing the hash and extending relevant PCRs may be complicated, the net
result is that the software (more likely, firmware) vendor will have one
known good PCR value that “should” be present in the relevant PCRs after the box has
booted.  In this case, the signed reference measurement could simply list the
expected hashes for the given version.  However, a RIM that contains the
intermediate hashes can be useful in debugging cases where the expected final hash
is not the one reported.</t>
  <t>Measurements taken later in operation of the system, once an OS has started
(for example, Linux IMA <xref target="IMA"/>), may be more complex, with unpredictable “final”
PCR values.  In this case, the Verifier must have enough information to reconstruct
the expected PCR values from logs and signed reference measurements from
a trusted authority.</t>
</list></t>

<t>In both cases, the expected values can be expressed as signed SWID or CoSWID tags,
but the SWID structure in the second case is somewhat more complex, as reconstruction of the extended hash in a PCR may involve thousands of files and other objects.</t>

<t>TCG has published an information model defining elements of Reference Integrity
Manifests under the title TCG Reference Integrity Manifest Information Model <xref target="RIM"/>.  This information model outlines how SWID tags should be structured to allow attestation, and defines “bundles” of SWID tags that may be needed to describe a complete software release.  The RIM contains metadata relating to the software release it belongs to, plus hashes for each individual file or other object that could be attested.</t>

<t>TCG has also published the PC Client Reference Integrity Measurement specification <xref target="PC-Client-RIM"/>, which focuses on a SWID-compatible format suitable for expressing expected measurement values in the specific case of a UEFI-compatible BIOS, where the SWID focus on files and file systems is not a direct fit.  While the PC Client RIM is not directly applicable to network equipment, many vendors do use a conventional UEFI BIOS to launch their network OS.</t>

</section>
<section anchor="attestation-logs" title="Attestation Logs">

<t>Quotes from a TPM can provide evidence of the state of a device up to the time
the evidence was recorded, but to make sense of the quote in most cases an
event log that identifies which software modules contributed which values to the quote
during startup MUST also be provided.  The log MUST contain enough information
to demonstrate its integrity by allowing exact reconstruction of the digest
conveyed in the signed quote (that is, calculating the hash of all the hashes in the
log should produce the same values as contained in the PCRs; if they don’t match, the log
may have been tampered with.  See <xref target="using-tpm"/>).</t>

<t>There are multiple event log formats which may be supported as viable formats of Evidence between the Attester and Verifier:</t>

<t><list style="symbols">
  <t>IMA Event log file exports <xref target="IMA"/></t>
  <t>TCG UEFI BIOS event log (TCG EFI Platform Specification for TPM Family 1.1 or
1.2, Section 7) <xref target="EFI-TPM"/></t>
  <t>TCG Canonical Event Log <xref target="Canonical-Event-Log"/></t>
</list></t>

<t>Attesters which use UEFI BIOS and Linux SHOULD use TCG Canonical Event Log <xref target="Canonical-Event-Log"/> and TCG UEFI BIOS event log <xref target="EFI-TPM"/>, although the CHARRA YANG model <xref target="I-D.ietf-rats-yang-tpm-charra"/> has no dependence on the format of the log.</t>

</section>
</section>
</section>
<section anchor="standards-components" title="Standards Components">

<section anchor="prerequisites-for-riv" title="Prerequisites for RIV">

<t>The Reference Interaction Model for Challenge-Response-based Remote Attestation (<xref target="I-D.birkholz-rats-reference-interaction-model"/>)
is based on the standard roles defined in <xref target="I-D.ietf-rats-architecture"/>.  However additional prerequisites have been established to allow for interoperable RIV use case implementations.  These prerequisites are intended to provide sufficient context information so that the Verifier can acquire and evaluate measurements collected by the Attester.</t>

<section anchor="unique-device-identity" title="Unique Device Identity">

<t>A secure Device Identity (DevID) in the form of an IEEE 802.1AR DevID certificate <xref target="IEEE-802-1AR"/> MUST be provisioned in the Attester’s TPMs.</t>

</section>
<section anchor="keys" title="Keys">

<t>The Attestation Key (AK) and certificate MUST also be provisioned on the Attester according to <xref target="Platform-DevID-TPM-2.0"/>, <xref target="PC-Client-BIOS-TPM-1.2"/>, or <xref target="Platform-ID-TPM-1.2"/>.</t>

<t>The Attester’s TPM Keys MUST be associated with the DevID on the Verifier (see <xref target="Platform-DevID-TPM-2.0"/> and <xref target="security-cons"/> Security Considerations, below).</t>

</section>
<section anchor="RIM-policy" title="Appraisal Policy for Evidence">

<t>The Verifier MUST obtain trustworthy Reference Values (encoded as SWID or CoSWID tags <xref target="I-D.birkholz-yang-swid"/>). These reference measurements will eventually be compared to signed PCR Evidence (‘quotes’) acquired from an Attester’s TPM using Attestation Policies chosen by the administrator or owner of the device.</t>

<t>This document does not specify the format or contents for the Appraisal Policy for Evidence, but Reference Values may be acquired in one of two ways:</t>

<t><list style="numbers">
  <t>a Verifier may obtain reference measurements directly from an Reference Value Provider chosen by the Verifier administrator (e.g., through a web site).</t>
  <t>Signed reference measurements may be distributed by the Reference Value Provider to the Attester, as part of a software update.  From there, the reference measurement may be acquired by the Verifier.</t>
</list></t>

<t>In either case, the Verifier Owner MUST select the source of trusted Reference Values through the Appraisal Policy for Evidence.</t>

<figure title="Appraisal Policy for Evidence Prerequisites" anchor="Appraisal-Prerequisites"><artwork align="left"><![CDATA[
******************         .-------------.         .-----------.
*Reference Value *         | Attester    |         | Verifier/ |
*Provider        *         |             |         | Relying   |
*(Device         *----2--->| (Network    |----2--->| Party     |
*config          *         |  Device)    |         |(Ntwk Mgmt |
*Authority)      *         |             |         |  Station) |
******************         '-------------'         '-----------'
        |                                             ^
        |                                             |
        '----------------1----------------------------'
]]></artwork></figure>

<t>In either case the Reference Values must be generated, acquired and delivered in a secure way, including reference measurements of firmware and bootable modules taken according to TCG PC Client <xref target="PC-Client-BIOS-TPM-2.0"/> and Linux IMA <xref target="IMA"/>.  Reference Values MUST be encoded as SWID or CoSWID tags, signed by the device manufacturer, as defined in the TCG RIM document <xref target="RIM"/>, compatible with NIST IR 8060 <xref target="NIST-IR-8060"/> or the IETF CoSWID draft <xref target="I-D.ietf-sacm-coswid"/>.</t>

</section>
</section>
<section anchor="reference-model-for-challenge-response" title="Reference Model for Challenge-Response">

<t>Once the prerequisites for RIV are met, a Verifier is able to acquire Evidence from an Attester.  The following diagram illustrates a RIV information flow between a Verifier and an Attester, 
derived from Section 8.1 of <xref target="I-D.birkholz-rats-reference-interaction-model"/>.  Event times shown correspond to the time types described within Appendix A of <xref target="I-D.ietf-rats-architecture"/>:</t>

<figure title="IETF Attestation Information Flow" anchor="IETF-Attestation-Information-Flow"><artwork align="left"><![CDATA[
.---------.                             .--------------------------.
| Atteser |                             | Relying Party / Verifier |
'---------'                             '--------------------------'
   time(VG)                                                    |
valueGeneration(targetEnvironment)                             |
     | => claims                                               |
     |                                                         |
     | <-----------requestEvidence(nonce, PcrSelection)----time(NS)
     |                                                         |
   time(EG)                                                    |
evidenceGeneration(nonce, PcrSelection, collectedClaims)       |
     | => SignedPcrEvidence(nonce, PcrSelection)               |
     | => LogEvidence(collectedClaims)                         |
     |                                                         |
     | returnSignedPcrEvidence-------------------------------> |
     | returnLogEvidence-------------------------------------> |
     |                                                         |
     |                                                  time(RG,RA)
     |    evidenceAppraisal(SignedPcrEvidence, eventLog, refClaims)
     |                                    attestationResult <= |
     ~                                                         ~
     |                                                     time(RX)
]]></artwork></figure>

<t><list style="symbols">
  <t>Step 1 (time(VG)): One or more Attesting Network Device PCRs are extended with measurements.  RIV provides no direct link between 
the time at which the event takes place and the time that it’s attested, although streaming attestation as in <xref target="I-D.birkholz-rats-network-device-subscription"/> could.</t>
  <t>Step 2 (time(NS)): The Verifier generates a unique random nonce (“number used once”), and makes a request attestation data for one or more PCRs from an Attester.  For interoperability, this MUST be accomplished via a YANG <xref target="RFC7950"/> interface that implements the TCG TAP model (e.g., YANG Module for Basic Challenge-Response-based Remote Attestation Procedures <xref target="I-D.ietf-rats-yang-tpm-charra"/>).</t>
  <t>Step 3 (time(EG)): On the Attester, measured values are retrieved from the Attester’s TPM. This requested PCR evidence,
along with the Verifier’s nonce, called a Quote, is signed by the Attestation Key (AK) associated with the DevID.  Quotes are retrieved according to TCG TAP Information Model <xref target="TAP"/>.  At the same time, the Attester collects log evidence showing the values have been extended into that PCR.  <xref target="using-tpm"/> gives more detail on how this works.</t>
  <t>Step 4: Collected Evidence is passed from the Attester to the Verifier</t>
  <t>Step 5 (time(RG,RA)): The Verifier reviews the Evidence and takes action as needed.  As the interaction between Relying Party and Verifier is out of scope for RIV, this can be described as one step.  <list style="symbols">
      <t>If the signature covering TPM Evidence is not correct, the device SHOULD NOT be trusted.</t>
      <t>If the nonce in the response doesn’t match the Verifier’s nonce, the response may be a replay, and device SHOULD NOT be trusted.</t>
      <t>If the signed PCR values do not match the set of log entries which have extended a particular PCR, the device SHOULD NOT be trusted.</t>
      <t>If the log entries that the Verifier considers important do not match known good values, the device SHOULD NOT be trusted.  We note that the process of collecting and analyzing the log can be omitted if the value in the relevant PCR is already a known-good value.</t>
      <t>If the set of log entries are not seen as acceptable by the Appraisal Policy for Evidence, the device SHOULD NOT be trusted.</t>
      <t>If time(RG)-time(NS) is greater than the Appraisal Policy for Evidence’s threshold for assessing freshness, the Evidence is considered stale and SHOULD NOT be trusted.</t>
    </list></t>
</list></t>

<section anchor="transport-and-encoding" title="Transport and Encoding">

<t>Network Management systems may retrieve signed PCR based Evidence as shown in <xref target="IETF-Attestation-Information-Flow"/>, and can be accomplished via NETCONF or RESTCONF, with XML, JSON, or CBOR encoded Evidence.</t>

<t>Implementations that use NETCONF MUST do so over a TLS or SSH secure tunnel.
Implementations that use RESTCONF transport MUST do so over a TLS or SSH secure tunnel.</t>

<t>Retrieval of Log Evidence SHOULD be done via log interfaces specified in <xref target="I-D.ietf-rats-yang-tpm-charra"/>).</t>

</section>
</section>
<section anchor="peer-to-peer" title="Centralized vs Peer-to-Peer">

<t><xref target="IETF-Attestation-Information-Flow"/> above assumes that the Verifier is trusted, while the Attester is not.  In a Peer-to-Peer application such as two routers negotiating a trust relationship <xref target="I-D.voit-rats-trusted-path-routing"/>, the two peers can each ask the other to prove software integrity.  In this application, the information flow is the same, but each side plays a role both as an Attester and a Verifier.  Each device issues a challenge, and each device responds to the other’s challenge, as shown in <xref target="Peer-to-peer-Information-Flow"/>.  Peer-to-peer challenges, particularly if used to establish a trust relationship between routers, require devices to carry their own signed reference measurements (RIMs).  Devices may also have to carry Appraisal Policy for Evidence for each possible peer device so that each device has everything needed for remote attestation, without having to resort to a central authority.</t>

<figure title="Peer-to-Peer Attestation Information Flow" anchor="Peer-to-peer-Information-Flow"><artwork align="left"><![CDATA[
+---------------+                            +---------------+
| RefVal        |                            | RefVal        |
| Provider A    |                            | Provider B    |
| Firmware      |                            | Firmware      |
| Configuration |                            | Configuration |
| Authority     |                            | Authority     |
|               |                            |               |
+---------------+                            +---------------+
      |                                             |
      |       +------------+        +------------+  |
      |       |            | Step 1 |            |  |   \
      |       | Attester   |<------>| Verifier   |  |   |
      |       |            |<------>|            |  |   |  Router B
      +------>|            | Step 2 |            |  |   |- Challenges
       Step 0A|            |        |            |  |   |  Router A
              |            |------->|            |  |   |
              |- Router A -| Step 3 |- Router B -|  |   /
              |            |        |            |  |
              |            |        |            |  |
              |            | Step 1 |            |  |   \
              | Verifier   |<------>| Attester   |<-+   |  Router A
              |            |<------>|            |      |- Challenges
              |            | Step 2 |            |      |  Router B
              |            |        |            |      |
              |            |<-------|            |      |
              +------------+ Step 3 +------------+      /

]]></artwork></figure>

<t>In this application, each device may need to be equipped with signed RIMs to act as an Attester, and also an Appraisal Policy for Evidence and a selection of trusted X.509 root certificates, to allow the device to act as a Verifier.   An existing link layer protocol such as 802.1x <xref target="IEEE-802.1x"/> or 802.1AE <xref target="IEEE-802.1AE"/>, with Evidence being enclosed over a variant of EAP <xref target="RFC3748"/> or LLDP <xref target="LLDP"/> are suitable methods for such an exchange.</t>

</section>
</section>
<section anchor="privacy-considerations" title="Privacy Considerations">

<t>Network equipment, such as routers, switches and firewalls, has a key role to play in guarding the privacy of individuals using the network.  Network equipment generally adheres to several rules to protect privacy:</t>

<t><list style="symbols">
  <t>Packets passing through the device must not be sent to unauthorized destinations.  For example:  <list style="symbols">
      <t>Routers often act as Policy Enforcement Points, where individual subscribers may be checked for
authorization to access a network.  Subscriber login information must not be released to unauthorized parties.</t>
      <t>Network equipment is often called upon to block access to protected resources from unauthorized users.</t>
    </list></t>
  <t>Routing information, such as the identity of a router’s peers, must not be leaked to unauthorized neighbors.</t>
  <t>If configured, encryption and decryption of traffic must be carried out reliably, while protecting keys and credentials.</t>
</list></t>

<t>Functions that protect privacy are implemented as part of each layer of hardware and software that
makes up the networking device.
In light of these requirements for protecting the privacy of users of the network, the network equipment
must identify itself, and its boot configuration and measured device state (for example, PCR values),
to the equipment’s administrator, so there’s no uncertainty as to what function each device and
configuration is configured to carry out. Attestation is a component that allows the administrator to ensure that the network
provides individual and peer privacy guarantees, even though the device itself may not have a 
right to keep its identity secret.</t>

<t>RIV specifically addresses the collection of information from enterprise network devices by authorized 
agents of the enterprise.  As such, privacy is a fundamental concern for those deploying this solution, given EU
GDPR, California CCPA, and many other privacy regulations.  The enterprise SHOULD implement
and enforce their duty of care.</t>

<t>See <xref target="NetEq"/> for more context on privacy in networking devices.</t>

</section>
<section anchor="security-cons" title="Security Considerations">

<t>Attestation Evidence from the RIV procedure are subject to a number of attacks:</t>

<t><list style="symbols">
  <t>Keys may be compromised.</t>
  <t>A counterfeit device may attempt to impersonate (spoof) a known authentic device.</t>
  <t>Man-in-the-middle attacks may be used by a counterfeit device to attempt to deliver
responses that originate in an actual authentic device.</t>
  <t>Replay attacks may be attempted by a compromised device.</t>
</list></t>

<section anchor="keys-used-in-riv" title="Keys Used in RIV">
<t>Trustworthiness of RIV attestation depends strongly on the validity of keys used for identity
and attestation reports.  RIV takes full advantage of TPM capabilities to ensure that evidence can be trusted.</t>

<t>Two sets of key-pairs are relevant to RIV attestation:</t>

<t><list style="symbols">
  <t>A DevID key-pair is used to certify the identity of the device in which the TPM is installed.</t>
  <t>An Attestation Key-pair (AK) key is used to certify attestation Evidence (called ‘quotes’ in TCG documents),
used to provide evidence for integrity of the software on the device</t>
</list></t>

<t>TPM practices usually require that these keys be different, as a way of ensuring that a general-purpose
signing key cannot be used to spoof an attestation quote.</t>

<t>In each case, the private half of the key is known only to the TPM, and cannot be
retrieved externally, even by a trusted party.  To ensure that’s the case,
specification-compliant private/public key-pairs are generated inside the TPM, where they’re never
exposed, and cannot be extracted (See <xref target="Platform-DevID-TPM-2.0"/>).</t>

<t>Keeping keys safe is a critical enabler of trustworthiness, but it’s just part of attestation security; knowing which keys are bound
to the device in question is just as important in an environment where private keys are never exposed.</t>

<t>While there are many ways to manage keys in a TPM (see <xref target="Platform-DevID-TPM-2.0"/>), RIV includes
support for “zero touch” provisioning (also known as zero-touch onboarding) of fielded
devices (e.g., Secure ZTP, <xref target="RFC8572"/>), where keys which have predictable trust properties are
provisioned by the device vendor.</t>

<t>Device identity in RIV is based on IEEE 802.1AR Device Identity (DevID). This specification provides several elements:</t>

<t><list style="symbols">
  <t>A DevID requires a unique key pair for each device, accompanied by an X.509 certificate,</t>
  <t>The private portion of the DevID key is to be stored in the device, in a manner that provides confidentiality (Section 6.2.5 <xref target="IEEE-802-1AR"/>)</t>
</list></t>

<t>The X.509 certificate contains several components:</t>

<t><list style="symbols">
  <t>The public part of the unique DevID key assigned to that device allows a challenge of identity.</t>
  <t>An identifying string that’s unique to the manufacturer of the device.  This is normally the
serial number of the unit, which might also be printed on a label on the device.</t>
  <t>The certificate must be signed by a key traceable to the manufacturer’s root key.</t>
</list></t>

<t>With these elements, the device’s manufacturer and serial number can be identified by analyzing the
DevID certificate plus the chain of intermediate certificates leading back to the manufacturer’s root
certificate.  As is conventional in TLS or SSH connections, a random nonce must be signed by the device
in response to a challenge,
proving possession of its DevID private key.</t>

<t>RIV uses the DevID to validate a TLS or SSH connection to the device as the attestation session begins.  Security of
this process derives from TLS or SSH security, with the DevID providing proof that the session terminates on
the intended device. See <xref target="RFC8446"/>, <xref target="RFC4253"/>.</t>

<t>Evidence of software integrity is delivered in the form of a quote signed by the TPM
itself.  Because the contents of the quote are signed inside the TPM, any external
modification (including reformatting to a different data format) after measurements have been taken will be detected
as tampering.  An unbroken chain of trust is essential to ensuring that blocks of code that are taking
measurements have been verified before execution (see <xref target="RIV-Attestation-Model"/>).</t>

<t>Requiring measurements of the operating software to be signed by a key known only to the TPM also
removes the need to trust the device’s operating software (beyond the first measurement in the RTM; see below); any
changes to the quote, generated and signed by the TPM itself, made by malicious device software, or in
the path back to the Verifier, will invalidate the signature on the quote.</t>

<t>A critical feature of the YANG model described in <xref target="I-D.ietf-rats-yang-tpm-charra"/> is the ability to carry TPM data structures in their native format, without requiring any changes to the structures as they were signed and delivered by the TPM.  While alternate methods of conveying TPM quotes could compress out redundant information, or add an additional layer of signing using external keys, the implementation MUST preserve the TPM signing, so that tampering anywhere in the path between the TPM itself and the Verifier can be detected.</t>

</section>
<section anchor="mitm" title="Prevention of Spoofing and Man-in-the-Middle Attacks">

<t>Prevention of spoofing attacks against attestation systems is also important.  There are two cases to consider:</t>

<t><list style="symbols">
  <t>The entire device could be spoofed. If the Verifier goes to appraise a specific Attester, it might be redirected to a different Attester.  Use of the 802.1AR Device Identity (DevID) in the TPM ensures that the Verifier’s TLS or SSH session is in fact terminating on the right device.</t>
  <t>A device with a compromised OS could return a fabricated quote providing spoofed attestation Evidence.</t>
</list></t>

<t>Protection against spoofed quotes from a device with valid identity is a bit more complex.
An identity key must be available to sign any kind of nonce or hash offered by the Verifier,
and consequently, could be used to sign a fabricated quote.  To block a spoofed Attestation
Result, the quote generated inside the TPM must be signed by
a key that’s different from the DevID, called an Attestation Key (AK).</t>

<t>Given separate Attestation and DevID keys, the
binding between the AK and the same device must also be proven to
prevent a man-in-the-middle attack (e.g., the ‘Asokan Attack’ <xref target="RFC6813"/>).</t>

<t>This is accomplished in RIV through use of an AK certificate with the same elements as the DevID
(same manufacturer’s serial number, signed by the same manufacturer’s key), but containing
the device’s unique AK public key instead of the DevID public key.</t>

<t>The TCG document TPM 2.0 Keys for Device Identity and Attestation <xref target="Platform-DevID-TPM-2.0"/> specifies
OIDs for Attestation Certificates that allow the CA to mark a key as specifically known to be 
an Attestation key.</t>

<t>These two key-pairs and certificates are used together:</t>

<t><list style="symbols">
  <t>The DevID is used to validate a TLS connection terminating on the device with a known serial number.</t>
  <t>The AK is used to sign attestation quotes, providing proof that the attestation
evidence comes from the same device.</t>
</list></t>

</section>
<section anchor="replay-attacks" title="Replay Attacks">

<t>Replay attacks, where results of a previous attestation are submitted in response to subsequent requests,
are usually prevented by inclusion of a random nonce in the request to the TPM
for a quote.  Each request from the Verifier includes a new random number (a nonce). The resulting
quote signed by the TPM contains the same nonce, allowing the Verifier to determine
freshness, (i.e., that the resulting quote was generated in response to the Verifier’s specific request).
Time-Based Uni-directional Attestation <xref target="I-D.birkholz-rats-tuda"/> provides an alternate mechanism
to verify freshness without requiring a request/response cycle.</t>

</section>
<section anchor="owner-signed-keys" title="Owner-Signed Keys">

<t>Although device manufacturers MUST pre-provision devices with easily verified DevID and AK certificates
if zero-touch provisioning such as described in <xref target="RFC8572"/> is to be supported,
use of those credentials is not mandatory.  IEEE 802.1AR incorporates the idea of an Initial Device ID
(IDevID), provisioned by the manufacturer, and a Local Device ID (LDevID) provisioned by the owner of
the device.  RIV and <xref target="Platform-DevID-TPM-2.0"/> extends that concept by defining an Initial Attestation Key (IAK) and Local Attestation
Key (LAK) with the same properties.</t>

<t>Device owners can use any method to provision the Local credentials.</t>

<t><list style="symbols">
  <t>TCG document <xref target="Platform-DevID-TPM-2.0"/> shows how the initial Attestation
keys can be used to certify LDevID and LAK keys.  Use of the LDevID and LAK allows the device owner
to use a uniform identity structure across device types from multiple manufacturers (in the same way
that an “Asset Tag” is used by many enterprises to identify devices they own).  TCG document
<xref target="Provisioning-TPM-2.0"/> also contains guidance on provisioning Initial and Local identity keys in TPM 2.0.</t>
  <t>Device owners, however, can use any other mechanism they want to assure themselves that local identity
certificates are inserted into the intended device, including physical inspection and programming
in a secure location, if they prefer to avoid placing trust in the manufacturer-provided keys.</t>
</list></t>

<t>Clearly, local keys can’t be used for secure Zero Touch provisioning; installation of the local keys
can only be done by some process that runs before the device is installed for network operation.</t>

<t>On the other end of the device life cycle, provision should be made to wipe local keys when a device
is decommissioned, to indicate that the device is no longer owned by the enterprise.  The manufacturer’s
Initial identity keys must be preserved, as they contain no information that’s not already printed on
the device’s serial number plate.</t>

</section>
<section anchor="other-factors-for-trustworthy-operation" title="Other Factors for Trustworthy Operation">

<t>In addition to trustworthy provisioning of keys, RIV depends on a number of other factors for trustworthy operation.</t>

<t><list style="symbols">
  <t>Secure identity depends on mechanisms to prevent per-device secret keys from being compromised.  The TPM
provides this capability as a Root of Trust for Storage.</t>
  <t>Attestation depends on an unbroken chain of measurements, starting from the very first 
measurement.  See <xref target="using-tpm"/> for background on TPM practices.</t>
  <t>That first measurement is made by code called the Root of Trust for Measurement, typically done by trusted
firmware stored in boot flash.  Mechanisms for maintaining the trustworthiness of the RTM are out of
scope for RIV, but could include immutable firmware, signed updates, or a vendor-specific hardware
verification technique.    See <xref target="root-of-trust"/> for background on roots of trust.</t>
  <t>The device owner SHOULD provide some level of physical defense for the device.  If a TPM that has already been programmed
with an authentic DevID is stolen and inserted into a counterfeit device, attestation of that counterfeit
device may become indistinguishable from an authentic device.</t>
</list></t>

<t>RIV also depends on reliable Reference Values, as expressed by the RIM <xref target="RIM"/>.  The definition of
trust procedures for RIMs is out of scope for RIV, and the device owner is free to use any policy to validate
a set of reference measurements.  RIMs may be conveyed out-of-band or in-band, as part of the attestation
process (see <xref target="RIM-policy"/>).  But for embedded devices, where software is usually shipped as a self-contained
package, RIMs signed by the manufacturer and delivered in-band may be more convenient for the device owner.</t>

<t>The validity of RIV attestation results is also influenced by procedures used to create Reference Values:</t>

<t><list style="symbols">
  <t>While the RIM itself is signed, supply-chains SHOULD be carefully scrutinized to ensure that the values are 
not subject to unexpected manipulation prior to signing.  Insider-attacks against code bases and build chains
are particularly hard to spot.</t>
  <t>Designers SHOULD guard against hash collision attacks.  Reference Integrity Manifests often give hashes for large objects
of indeterminate size; if one of the measured objects can be replaced with an implant engineered to produce
the same hash, RIV will be unable to detect the substitution.  TPM1.2 uses SHA-1 hashes only, which have been
shown to be susceptible to collision attack.  TPM2.0 will produce quotes with SHA-256, which so far has resisted
such attacks.  Consequently, RIV implementations SHOULD use TPM2.0.</t>
</list></t>

</section>
</section>
<section anchor="conclusion" title="Conclusion">

<t>TCG technologies can play an important part in the implementation of Remote
Integrity Verification.  Standards for many of the components needed for
implementation of RIV already exist:</t>

<t><list style="symbols">
  <t>Platform identity can be based on IEEE 802.1AR Device Identity, coupled with
careful supply-chain management by the manufacturer.</t>
  <t>Complex supply chains can be certified using TCG Platform Certificates <xref target="Platform-Certificates"/>.</t>
  <t>The TCG TAP mechanism couple with <xref target="I-D.ietf-rats-yang-tpm-charra"/> can be used to retrieve attestation evidence.</t>
  <t>Reference Values must be conveyed from the software authority (e.g.,
the manufacturer) in Reference Integrity Manifests, to the system in which verification will take place.  IETF and TCG
SWID and CoSWID work (<xref target="I-D.birkholz-yang-swid"/>, <xref target="RIM"/>)) forms the basis for this function.</t>
</list></t>

</section>
<section anchor="IANA" title="IANA Considerations">

<t>This memo includes no request to IANA.</t>

</section>
<section anchor="appendix" title="Appendix">

<section anchor="using-tpm" title="Using a TPM for Attestation">

<t>The Trusted Platform Module and surrounding ecosystem provide three interlocking capabilities to enable secure collection 
of evidence from a remote device, Platform Configuration Registers (PCRs), a Quote mechanism, and a standardized Event Log.</t>

<t>Each TPM has at least eight and at most twenty-four PCRs (depending on the profile and vendor choices), each one large 
enough to hold one hash value (SHA-1, SHA-256, and other hash algorithms can 
be used, depending on TPM version).  PCRs can’t be accessed directly from outside the chip, but the TPM 
interface provides a way to “extend” a new security measurement hash into any PCR, a process by which the existing value 
in the PCR is hashed with the new security measurement hash, and the result placed back into the same PCR.  The result 
is a composite fingerprint of all the security measurements extended into each PCR since the system was reset.</t>

<t>Every time a PCR is extended, an entry should be added to the corresponding Event Log.  Logs contain the security 
measurement hash plus informative fields offering hints as to which event generated the security measurement. 
The Event Log itself is protected against accidental manipulation, but it is implicitly tamper-evident – any 
verification process can read the security measurement hash from the log events, compute the composite value 
and compare that to what ended up in the PCR.   If there’s no discrepancy, the logs do provide an accurate 
view of what was placed into the PCR.</t>

<t>Note that the composite hash-of-hashes recorded in PCRs is order-dependent, resulting in different PCR values for different 
ordering of the same set of events (e.g. Event A followed by Event B yields a different PCR value than B followed by A).
For single-threaded code, where both the events and their order are fixed, a Verifier may validate a single PCR value, and use the log only to diagnose a mismatch from Reference Values.  However, operating system code is usually 
non-deterministic, meaning that there may never be a single “known good” PCR value.  In this case, the Verifier may have
verify that the log is correct, and then analyze each item in the log to determine if it represents an authorized event.</t>

<t>In a conventional TPM Attestation environment, the first measurement must be made and extended into the TPM by trusted 
device code (called the Root of Trust for Measurement, RTM).  That first measurement should cover the segment of 
code that is run immediately after the RTM, which then measures the next code segment before running it, and so on, 
forming an unbroken chain of trust.  See <xref target="TCGRoT"/> for more on Mutable vs Immutable roots of trust.</t>

<t>The TPM provides another mechanism called a Quote that can read the current value of the PCRs and package them, 
along with the Verifier’s nonce, into a TPM-specific data structure signed by an Attestation private key, known 
only to the TPM.</t>

<t>As noted above in <xref target="security-cons"/> Security Considerations, it’s important to note that the Quote data structure is signed inside the TPM.  The trust model is preserved by retrieving the Quote in a way that does not invalidate the signature, 
as specified in <xref target="I-D.ietf-rats-yang-tpm-charra"/>.</t>

<t>The Verifier uses the Quote and Log together.  The Quote contains the composite hash of the complete sequence 
of security measurement hashes, signed by the TPM’s private Attestation Key.  The Log contains a record of each
measurement extended into the TPM’s PCRs.  By computing the composite hash of all the measurements, the Verifier
can verify the integrity of the Event Log, even though the Event Log itself is not signed.  Each hash in the validated 
Event Log can then be compared to corresponding expected values in the set of Reference Values to 
validate overall system integrity.</t>

<t>A summary of information exchanged in obtaining quotes from TPM1.2 and TPM2.0 can be found in <xref target="TAP"/>, Section 4.
Detailed information about PCRs and Quote data structures can be found in <xref target="TPM1.2"/>, <xref target="TPM2.0"/>.  Recommended log 
formats include <xref target="PC-Client-BIOS-TPM-2.0"/> and <xref target="Canonical-Event-Log"/>.</t>

</section>
<section anchor="root-of-trust" title="Root of Trust for Measurement">

<t>The measurements needed for attestation require that the device being attested
is equipped with a Root of Trust for Measurement, that is, some trustworthy
mechanism that can compute the first measurement in the chain of trust required
to attest that each stage of system startup is verified, a Root of Trust for Storage (i.e., 
the TPM PCRs) to record the results, and a Root of Trust
for Reporting to report the results <xref target="TCGRoT"/>, <xref target="SP800-155"/>, <xref target="SP800-193"/>.</t>

<t>While there are many complex aspects of a Root of Trust, two aspects that
are important in the case of attestation are:</t>

<t><list style="symbols">
  <t>The first measurement computed by the Root of Trust for Measurement, and stored
in the TPM’s Root of Trust for Storage, must be assumed to be correct.</t>
  <t>There must not be a way to reset the Root of Trust for Storage without re-entering
the Root of Trust for Measurement code.</t>
</list></t>

<t>The first measurement must be computed by code that is implicitly trusted; if that
first measurement can be subverted, none of the remaining measurements can
be trusted. (See <xref target="SP800-155"/>)</t>

<t>It’s important to note that the trustworthiness of the RTM code cannot be assured by 
the TPM or TPM supplier – code or procedures external to the TPM must guarantee the 
security of the RTM.</t>

</section>
<section anchor="layering-model-for-network-equipment-attester-and-verifier" title="Layering Model for Network Equipment Attester and Verifier">

<t>Retrieval of identity and attestation state uses one protocol stack, while
retrieval of Reference Values uses a different set of protocols.  Figure
5 shows the components involved.</t>

<figure title="RIV Protocol Stacks" anchor="RIV-Protocol-Stacks"><artwork align="left"><![CDATA[
+-----------------------+              +-------------------------+
|                       |              |                         |
|       Attester        |<-------------|        Verifier         |
|       (Device)        |------------->|   (Management Station)  |
|                       |      |       |                         |
+-----------------------+      |       +-------------------------+
                               |
           -------------------- --------------------
           |                                        |
-------------------------------    ---------------------------------
|Reference Values             |    |         Attestation           |
-------------------------------    ---------------------------------

********************************************************************
*         IETF Attestation Reference Interaction Diagram           *
********************************************************************

    .......................            .......................
    . Reference Integrity .            .  TAP (PTS2.0) Info  .
    .      Manifest       .            . Model and Canonical .
    .                     .            .     Log Format      .
    .......................            .......................

    *************************  .............. **********************
    * YANG SWID Module      *  . TCG        . * YANG Attestation   *
    * I-D.birkholz-yang-swid*  . Attestation. * Module             *
    *                       *  . MIB        . * I-D.ietf-rats-     *
    *                       *  .            . * yang-tpm-charra    *
    *************************  .............. **********************

    *************************  ************ ************************
    * XML, JSON, CBOR (etc) *  *    UDP   * * XML, JSON, CBOR (etc)*
    *************************  ************ ************************

    *************************               ************************
    *   RESTCONF/NETCONF    *               *   RESTCONF/NETCONF   *
    ************************               *************************

    *************************               ************************
    *       TLS, SSH        *               *       TLS, SSH       *
    *************************               ************************

]]></artwork></figure>

<t>IETF documents are captured in boxes surrounded by asterisks. TCG documents
are shown in boxes surrounded by dots.</t>

</section>
<section anchor="implementation-notes" title="Implementation Notes">

<t><xref target="Component-Status"/> summarizes many of the actions needed to complete an Attestation
system, with links to relevant documents.  While documents are controlled
by several standards organizations, the implied actions required for
implementation are all the responsibility of the manufacturer of the device,
unless otherwise noted.  It should be noted that, while the YANG model is 
RECOMMENDED for attestation, this table identifies an optional SNMP MIB as 
well, <xref target="Attest-MIB"/>.</t>

<figure title="Component Status" anchor="Component-Status"><artwork align="left"><![CDATA[
+------------------------------------------------------------------+
|             Component                           |  Controlling   |
|                                                 | Specification  |
--------------------------------------------------------------------
| Make a Secure execution environment             |   TCG RoT      |
|   o Attestation depends on a secure root of     |   UEFI.org     |
|     trust for measurement outside the TPM, as   |                |
|     well as roots for storage and reporting     |                |
|     inside the TPM.                             |                |
|   o  Refer to TCG Root of Trust for Measurement.|                |
|   o  NIST SP 800-193 also provides guidelines   |                |
|      on Roots of Trust                          |                |
--------------------------------------------------------------------
| Provision the TPM as described in       |[Platform-DevID-TPM-2.0]|
|   TCG documents.                                | TCG Platform   |
|                                                 |   Certificate  |
--------------------------------------------------------------------
| Put a DevID or Platform Cert in the TPM         | TCG TPM DevID  |
|    o Install an Initial Attestation Key at the  | TCG Platform   |
|      same time so that Attestation can work out |   Certificate  |
|      of the box                                 |-----------------
|    o Equipment suppliers and owners may want to | IEEE 802.1AR   |
|      implement Local Device ID as well as       |                |
|      Initial Device ID                          |                |
--------------------------------------------------------------------
| Connect the TPM to the TLS stack                | Vendor TLS     |
|    o  Use the DevID in the TPM to authenticate  | stack (This    |
|       TAP connections, identifying the device   | action is      |
|                                                 | simply         |
|                                                 | configuring TLS|
|                                               | to use the DevID |
|                                               | as its client    |
|                                               | certificate)     |
--------------------------------------------------------------------
| Make CoSWID tags for BIOS/LoaderLKernel objects | IETF CoSWID    |
|    o  Add reference measurements into SWID tags | ISO/IEC 19770-2|
|    o  Manufacturer should sign the SWID tags    | NIST IR 8060   |
|    o  The TCG RIM-IM identifies further         |                |
|       procedures to create signed RIM           |                |
|       documents that provide the necessary      |                |
|       reference information                     |                |
--------------------------------------------------------------------
|  Package the SWID tags with a vendor software   | Retrieve tags  |
|  release                                        | with           |
|    o  A tag-generator plugin such      | draft-birkholz-yang-swid|
|     as [SWID-Gen] can be used                   |----------------|
|                                                 | TCG PC Client  |
|                                                 | RIM            |
--------------------------------------------------------------------
|  Use PC Client measurement definitions          | TCG PC Client  |
|  to define the use of PCRs                      | BIOS           |
|  (although Windows  OS is rare on Networking    |                |
|  Equipment, UEFI BIOS is not)                   |                |
--------------------------------------------------------------------
|  Use TAP to retrieve measurements               |                |
|    o  Map TAP to SNMP                           | TCG SNMP MIB   |
|    o  Map to YANG                               | YANG Module for|
|  Use Canonical Log Format                       |   Basic        |
|                                                 |   Attestation  |
|                                                 | TCG Canonical  |
|                                                 |   Log Format   |
--------------------------------------------------------------------
| Posture Collection Server (as described in IETF |                |
|  SACMs ECP) should request the                  |                |
|  attestation and analyze the result             |                |
| The Management application might be broken down |                |
|  to several more components:                    |                |
|    o  A Posture Manager Server                  |                |
|       which collects reports and stores them in |                |
|       a database                                |                |
|    o  One or more Analyzers that can look at the|                |
|       results and figure out what it means.     |                |
--------------------------------------------------------------------
]]></artwork></figure>

</section>
</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor="RFC8572" target='https://www.rfc-editor.org/info/rfc8572'>
<front>
<title>Secure Zero Touch Provisioning (SZTP)</title>
<author initials='K.' surname='Watsen' fullname='K. Watsen'><organization /></author>
<author initials='I.' surname='Farrer' fullname='I. Farrer'><organization /></author>
<author initials='M.' surname='Abrahamsson' fullname='M. Abrahamsson'><organization /></author>
<date year='2019' month='April' />
<abstract><t>This document presents a technique to securely provision a networking device when it is booting in a factory-default state.  Variations in the solution enable it to be used on both public and private networks.  The provisioning steps are able to update the boot image, commit an initial configuration, and execute arbitrary scripts to address auxiliary needs.  The updated device is subsequently able to establish secure connections with other systems.  For instance, a device may establish NETCONF (RFC 6241) and/or RESTCONF (RFC 8040) connections with deployment-specific network management systems.</t></abstract>
</front>
<seriesInfo name='RFC' value='8572'/>
<seriesInfo name='DOI' value='10.17487/RFC8572'/>
</reference>



<reference  anchor="RFC8446" target='https://www.rfc-editor.org/info/rfc8446'>
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
<author initials='E.' surname='Rescorla' fullname='E. Rescorla'><organization /></author>
<date year='2018' month='August' />
<abstract><t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t><t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t></abstract>
</front>
<seriesInfo name='RFC' value='8446'/>
<seriesInfo name='DOI' value='10.17487/RFC8446'/>
</reference>



<reference  anchor="RFC4253" target='https://www.rfc-editor.org/info/rfc4253'>
<front>
<title>The Secure Shell (SSH) Transport Layer Protocol</title>
<author initials='T.' surname='Ylonen' fullname='T. Ylonen'><organization /></author>
<author initials='C.' surname='Lonvick' fullname='C. Lonvick' role='editor'><organization /></author>
<date year='2006' month='January' />
<abstract><t>The Secure Shell (SSH) is a protocol for secure remote login and other secure network services over an insecure network.</t><t>This document describes the SSH transport layer protocol, which typically runs on top of TCP/IP.  The protocol can be used as a basis for a number of secure network services.  It provides strong encryption, server authentication, and integrity protection.  It may also provide compression.</t><t>Key exchange method, public key algorithm, symmetric encryption algorithm, message authentication algorithm, and hash algorithm are all negotiated.</t><t>This document also describes the Diffie-Hellman key exchange method and the minimal set of algorithms that are needed to implement the SSH transport layer protocol.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4253'/>
<seriesInfo name='DOI' value='10.17487/RFC4253'/>
</reference>



<reference  anchor="RFC7950" target='https://www.rfc-editor.org/info/rfc7950'>
<front>
<title>The YANG 1.1 Data Modeling Language</title>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund' role='editor'><organization /></author>
<date year='2016' month='August' />
<abstract><t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols.  This document describes the syntax and semantics of version 1.1 of the YANG language.  YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification.  There are a small number of backward incompatibilities from YANG version 1.  This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t></abstract>
</front>
<seriesInfo name='RFC' value='7950'/>
<seriesInfo name='DOI' value='10.17487/RFC7950'/>
</reference>



<reference  anchor="RFC6241" target='https://www.rfc-editor.org/info/rfc6241'>
<front>
<title>Network Configuration Protocol (NETCONF)</title>
<author initials='R.' surname='Enns' fullname='R. Enns' role='editor'><organization /></author>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund' role='editor'><organization /></author>
<author initials='J.' surname='Schoenwaelder' fullname='J. Schoenwaelder' role='editor'><organization /></author>
<author initials='A.' surname='Bierman' fullname='A. Bierman' role='editor'><organization /></author>
<date year='2011' month='June' />
<abstract><t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices.  It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages.  The NETCONF protocol operations are realized as remote procedure calls (RPCs).  This document obsoletes RFC 4741.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6241'/>
<seriesInfo name='DOI' value='10.17487/RFC6241'/>
</reference>



<reference anchor="I-D.ietf-rats-yang-tpm-charra">
<front>
<title>A YANG Data Model for Challenge-Response-based Remote Attestation Procedures using TPMs</title>

<author initials='H' surname='Birkholz' fullname='Henk Birkholz'>
    <organization />
</author>

<author initials='M' surname='Eckel' fullname='Michael Eckel'>
    <organization />
</author>

<author initials='E' surname='Voit' fullname='Eric Voit'>
    <organization />
</author>

<author initials='S' surname='Bhandari' fullname='Shwetha Bhandari'>
    <organization />
</author>

<author initials='B' surname='Sulzen' fullname='Bill Sulzen'>
    <organization />
</author>

<author initials='L' surname='Xia' fullname='Liang Xia'>
    <organization />
</author>

<author initials='T' surname='Laffey' fullname='Tom Laffey'>
    <organization />
</author>

<author initials='G' surname='Fedorkow' fullname='Guy Fedorkow'>
    <organization />
</author>

<date month='September' day='30' year='2020' />

<abstract><t>This document defines a YANG RPC and a minimal datastore required to retrieve attestation evidence about integrity measurements from a device following the operational context defined in [I-D.ietf-rats-tpm-based-network-device-attest].  Complementary measurement logs are also provided by the YANG RPC originating from one or more roots of trust of measurement.  The module defined requires at least one TPM 1.2 or TPM 2.0 and corresponding Trusted Software Stack included in the device components of the composite device the YANG server is running on.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-rats-yang-tpm-charra-03' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-rats-yang-tpm-charra-03.txt' />
</reference>



<reference anchor="I-D.birkholz-yang-swid">
<front>
<title>Software Inventory YANG module based on Software Identifiers</title>

<author initials='H' surname='Birkholz' fullname='Henk Birkholz'>
    <organization />
</author>

<date month='October' day='23' year='2018' />

<abstract><t>This document provides a YANG module definition that enables a computing context to provide detailed information about installed software components.  The structure of the module is based on the Concise Software Identifier draft and therefore also strongly related to the ISO 19770-2:2015 Software Identifiers standard.  Both standards provide no interface to transport the SWID tag information between system entities and this document leverages the wide adoption of YANG based management interfaces.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-birkholz-yang-swid-02' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-birkholz-yang-swid-02.txt' />
</reference>



<reference anchor="I-D.ietf-sacm-coswid">
<front>
<title>Concise Software Identification Tags</title>

<author initials='H' surname='Birkholz' fullname='Henk Birkholz'>
    <organization />
</author>

<author initials='J' surname='Fitzgerald-McKay' fullname='Jessica Fitzgerald-McKay'>
    <organization />
</author>

<author initials='C' surname='Schmidt' fullname='Charles Schmidt'>
    <organization />
</author>

<author initials='D' surname='Waltermire' fullname='David Waltermire'>
    <organization />
</author>

<date month='May' day='1' year='2020' />

<abstract><t>ISO/IEC 19770-2:2015 Software Identification (SWID) tags provide an extensible XML-based structure to identify and describe individual software components, patches, and installation bundles.  SWID tag representations can be too large for devices with network and storage constraints.  This document defines a concise representation of SWID tags: Concise SWID (CoSWID) tags.  CoSWID supports the same features as SWID tags, as well as additional semantics that allow CoSWIDs to describe additional types of information, all in a more memory efficient format.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-sacm-coswid-15' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-sacm-coswid-15.txt' />
</reference>


<reference anchor="IEEE-802-1AR" >
  <front>
    <title>802.1AR-2018 - IEEE Standard for Local and Metropolitan Area Networks - Secure Device Identity, IEEE Computer Society</title>
    <author initials="M." surname="Seaman">
      <organization>IEEE Computer Society</organization>
    </author>
    <date year="2018" month="August"/>
  </front>
</reference>
<reference anchor="TAP" target="https://trustedcomputinggroup.org/resource/tcg-tap-information-model/">
  <front>
    <title>TCG Trusted Attestation Protocol (TAP) Information Model for TPM Families 1.2 and 2.0 and DICE Family 1.0, Version 1.0, Revision 0.36</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2018" month="October"/>
  </front>
</reference>
<reference anchor="Canonical-Event-Log" >
  <front>
    <title>DRAFT Canonical Event Log Format Version: 1.0, Revision: .12</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2018" month="October"/>
  </front>
</reference>
<reference anchor="PC-Client-BIOS-TPM-2.0" target="https://trustedcomputinggroup.org/pc-client-specific-platform-firmware-profile-specification">
  <front>
    <title>PC Client Specific Platform Firmware Profile Specification Family "2.0", Level 00 Revision 1.04</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2019" month="June"/>
  </front>
</reference>
<reference anchor="PC-Client-BIOS-TPM-1.2" target="https://trustedcomputinggroup.org/resource/pc-client-work-group-specific-implementation-specification-for-conventional-bios/">
  <front>
    <title>TCG PC Client Specific Implementation Specification for Conventional BIOS, Specification Version 1.21 Errata, Revision 1.00</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2012" month="February"/>
  </front>
</reference>
<reference anchor="RIM" target="https://trustedcomputinggroup.org/wp-content/uploads/TCG_RIM_Model_v1-r13_2feb20.pdf">
  <front>
    <title>DRAFT: TCG Reference Integrity Manifest Information Model</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2019" month="June"/>
  </front>
</reference>
<reference anchor="PC-Client-RIM" target="https://trustedcomputinggroup.org/wp-content/uploads/TCG_PC_Client_RIM_r0p15_15june2020.pdf">
  <front>
    <title>DRAFT: TCG PC Client Reference Integrity Manifest Specification, v.09</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2019" month="December"/>
  </front>
</reference>
<reference anchor="Platform-DevID-TPM-2.0" target="https://trustedcomputinggroup.org/resource/tpm-2-0-keys-for-device-identity-and-attestation/">
  <front>
    <title>TPM 2.0 Keys for Device Identity and Attestation, Specification Version 1.0, Revision 2</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2020" month="September"/>
  </front>
</reference>
<reference anchor="Platform-ID-TPM-1.2" target="https://trustedcomputinggroup.org/resource/tpm-keys-for-platform-identity-for-tpm-1-2-2/">
  <front>
    <title>TPM Keys for Platform Identity for TPM 1.2, Specification Version 1.0, Revision 3</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2015" month="August"/>
  </front>
</reference>
<reference anchor="SWID" target="https://www.iso.org/standard/65666.html">
  <front>
    <title>Information Technology Software Asset Management Part 2: Software Identification Tag, ISO/IEC 19770-2</title>
    <author >
      <organization>The International Organization for Standardization/International Electrotechnical Commission</organization>
    </author>
    <date year="2015" month="October"/>
  </front>
</reference>


    </references>

    <references title='Informative References'>





<reference  anchor="RFC6813" target='https://www.rfc-editor.org/info/rfc6813'>
<front>
<title>The Network Endpoint Assessment (NEA) Asokan Attack Analysis</title>
<author initials='J.' surname='Salowey' fullname='J. Salowey'><organization /></author>
<author initials='S.' surname='Hanna' fullname='S. Hanna'><organization /></author>
<date year='2012' month='December' />
<abstract><t>The Network Endpoint Assessment (NEA) protocols are subject to a subtle forwarding attack that has become known as the NEA Asokan Attack. This document describes the attack and countermeasures that may be mounted.  This document is not an Internet Standards Track specification; it is published for informational purposes.</t></abstract>
</front>
<seriesInfo name='RFC' value='6813'/>
<seriesInfo name='DOI' value='10.17487/RFC6813'/>
</reference>



<reference  anchor="RFC3748" target='https://www.rfc-editor.org/info/rfc3748'>
<front>
<title>Extensible Authentication Protocol (EAP)</title>
<author initials='B.' surname='Aboba' fullname='B. Aboba'><organization /></author>
<author initials='L.' surname='Blunk' fullname='L. Blunk'><organization /></author>
<author initials='J.' surname='Vollbrecht' fullname='J. Vollbrecht'><organization /></author>
<author initials='J.' surname='Carlson' fullname='J. Carlson'><organization /></author>
<author initials='H.' surname='Levkowetz' fullname='H. Levkowetz' role='editor'><organization /></author>
<date year='2004' month='June' />
<abstract><t>This document defines the Extensible Authentication Protocol (EAP), an authentication framework which supports multiple authentication methods.  EAP typically runs directly over data link layers such as Point-to-Point Protocol (PPP) or IEEE 802, without requiring IP.  EAP provides its own support for duplicate elimination and retransmission, but is reliant on lower layer ordering guarantees.  Fragmentation is not supported within EAP itself; however, individual EAP methods may support this.  This document obsoletes RFC 2284.  A summary of the changes between this document and RFC 2284 is available in Appendix A.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='3748'/>
<seriesInfo name='DOI' value='10.17487/RFC3748'/>
</reference>



<reference anchor="I-D.ietf-rats-architecture">
<front>
<title>Remote Attestation Procedures Architecture</title>

<author initials='H' surname='Birkholz' fullname='Henk Birkholz'>
    <organization />
</author>

<author initials='D' surname='Thaler' fullname='Dave Thaler'>
    <organization />
</author>

<author initials='M' surname='Richardson' fullname='Michael Richardson'>
    <organization />
</author>

<author initials='N' surname='Smith' fullname='Ned Smith'>
    <organization />
</author>

<author initials='W' surname='Pan' fullname='Wei Pan'>
    <organization />
</author>

<date month='October' day='16' year='2020' />

<abstract><t>In network protocol exchanges, it is often the case that one entity (a Relying Party) requires evidence about a remote peer to assess the peer's trustworthiness, and a way to appraise such evidence.  The evidence is typically a set of claims about its software and hardware platform.  This document describes an architecture for such remote attestation procedures (RATS).</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-rats-architecture-07' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-rats-architecture-07.txt' />
</reference>



<reference anchor="I-D.birkholz-rats-reference-interaction-model">
<front>
<title>Reference Interaction Models for Remote Attestation Procedures</title>

<author initials='H' surname='Birkholz' fullname='Henk Birkholz'>
    <organization />
</author>

<author initials='M' surname='Eckel' fullname='Michael Eckel'>
    <organization />
</author>

<author initials='C' surname='Newton' fullname='Christopher Newton'>
    <organization />
</author>

<author initials='L' surname='Chen' fullname='Liqun Chen'>
    <organization />
</author>

<date month='July' day='7' year='2020' />

<abstract><t>This document describes interaction models for remote attestation procedures (RATS).  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.  Privacy preserving conveyance of Evidence via Direct Anonymous Attestation is elaborated on for each interaction model, individually.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-birkholz-rats-reference-interaction-model-03' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-birkholz-rats-reference-interaction-model-03.txt' />
</reference>



<reference anchor="I-D.richardson-rats-usecases">
<front>
<title>Use cases for Remote Attestation common encodings</title>

<author initials='M' surname='Richardson' fullname='Michael Richardson'>
    <organization />
</author>

<author initials='C' surname='Wallace' fullname='Carl Wallace'>
    <organization />
</author>

<author initials='W' surname='Pan' fullname='Wei Pan'>
    <organization />
</author>

<date month='March' day='9' year='2020' />

<abstract><t>This document details mechanisms created for performing Remote Attestation that have been used in a number of industries.  The document initially focuses on existing industry verticals, mapping terminology used in those specifications to the more abstract terminology used by the IETF RATS Working Group.  The document aspires to describe possible future use cases that would be enabled by common formats.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-richardson-rats-usecases-07' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-richardson-rats-usecases-07.txt' />
</reference>



<reference anchor="I-D.birkholz-rats-tuda">
<front>
<title>Time-Based Uni-Directional Attestation</title>

<author initials='A' surname='Fuchs' fullname='Andreas Fuchs'>
    <organization />
</author>

<author initials='H' surname='Birkholz' fullname='Henk Birkholz'>
    <organization />
</author>

<author initials='I' surname='McDonald' fullname='Ira McDonald'>
    <organization />
</author>

<author initials='C' surname='Bormann' fullname='Carsten Bormann'>
    <organization />
</author>

<date month='July' day='13' year='2020' />

<abstract><t>This documents defines the method and bindings used to conduct Time- based Uni-Directional Attestation (TUDA) between two RATS (Remote ATtestation procedureS) entities over the Internet.  TUDA does not require a challenge-response handshake and thereby does not rely on the conveyance of a nonce to prove freshness of remote attestation Evidence.  Conversely, TUDA enables the creation of Secure Audit Logs that can constitute Evidence about current and past operational states of an Attester.  Every RATS entity requires access to a trustable and synchronized time-source.  A Handle Distributor takes on the corresponding role of a Time Stamp Authority (TSA) to provide Time Stamp Tokens (TST) to all RATS entities.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-birkholz-rats-tuda-03' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-birkholz-rats-tuda-03.txt' />
</reference>



<reference anchor="I-D.voit-rats-trusted-path-routing">
<front>
<title>Trusted Path Routing</title>

<author initials='E' surname='Voit' fullname='Eric Voit'>
    <organization />
</author>

<date month='June' day='10' year='2020' />

<abstract><t>There are end-users who believe encryption technologies like IPSec alone are insufficient to protect the confidentiality of their highly sensitive traffic flows.  These end-users want their flows to traverse devices which have been freshly appraised and verified. This specification describes Trusted Path Routing.  Trusted Path Routing protects sensitive flows as they transit a network by forwarding traffic to/from sensitive subnets across network devices recently appraised as trustworthy.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-voit-rats-trusted-path-routing-02' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-voit-rats-trusted-path-routing-02.txt' />
</reference>



<reference anchor="I-D.birkholz-rats-network-device-subscription">
<front>
<title>Attestation Event Stream Subscription</title>

<author initials='H' surname='Birkholz' fullname='Henk Birkholz'>
    <organization />
</author>

<author initials='E' surname='Voit' fullname='Eric Voit'>
    <organization />
</author>

<author initials='W' surname='Pan' fullname='Wei Pan'>
    <organization />
</author>

<date month='October' day='6' year='2020' />

<abstract><t>This document defines how to subscribe to an Event Stream of attestation related Evidence on TPM-based network devices.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-birkholz-rats-network-device-subscription-01' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-birkholz-rats-network-device-subscription-01.txt' />
</reference>



<reference anchor="I-D.ietf-rats-eat">
<front>
<title>The Entity Attestation Token (EAT)</title>

<author initials='G' surname='Mandyam' fullname='Giridhar Mandyam'>
    <organization />
</author>

<author initials='L' surname='Lundblade' fullname='Laurence Lundblade'>
    <organization />
</author>

<author initials='M' surname='Ballesteros' fullname='Miguel Ballesteros'>
    <organization />
</author>

<author initials='J' surname='O&apos;Donoghue' fullname='Jeremy O&apos;Donoghue'>
    <organization />
</author>

<date month='August' day='31' year='2020' />

<abstract><t>An Entity Attestation Token (EAT) provides a signed (attested) set of claims that describe state and characteristics of an entity, typically a device like a phone or an IoT device.  These claims are used by a relying party to determine how much it wishes to trust the entity.  An EAT is either a CWT or JWT with some attestation-oriented claims. To a large degree, all this document does is extend CWT and JWT.  Contributing  TBD</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-rats-eat-04' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-rats-eat-04.txt' />
<format type='PDF'
        target='http://www.ietf.org/internet-drafts/draft-ietf-rats-eat-04.pdf' />
</reference>


<reference anchor="TPM1.2" target="https://trustedcomputinggroup.org/resource/tpm-main-specification/">
  <front>
    <title>TPM Main Specification Level 2 Version 1.2, Revision 116</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2011" month="March"/>
  </front>
</reference>
<reference anchor="TPM2.0" target="https://trustedcomputinggroup.org/resource/tpm-library-specification/">
  <front>
    <title>Trusted Platform Module Library Specification, Family “2.0”, Level 00, Revision 01.59</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2019" month="November"/>
  </front>
</reference>
<reference anchor="EFI-TPM" target="https://trustedcomputinggroup.org/resource/tcg-efi-platform-specification/">
  <front>
    <title>TCG EFI Platform Specification for TPM Family 1.1 or 1.2, Specification Version 1.22, Revision 15</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2014" month="January"/>
  </front>
</reference>
<reference anchor="Platform-Certificates" target="https://trustedcomputinggroup.org/resource/tcg-platform-attribute-credential-profile/">
  <front>
    <title>TCG Platform Attribute Credential Profile, Specification Version 1.0, Revision 16</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2018" month="January"/>
  </front>
</reference>
<reference anchor="Provisioning-TPM-2.0" target="https://trustedcomputinggroup.org/wp-content/uploads/TCG-TPM-v2.0-Provisioning-Guidance-Published-v1r1.pdf">
  <front>
    <title>TCG TPM v2.0 Provisioning Guidance, Version 1.0, Revision 1.0</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2015" month="March"/>
  </front>
</reference>
<reference anchor="Attest-MIB" target="https://trustedcomputinggroup.org/wp-content/uploads/TCG_SNMP_MIB_for_TPM-Based_Attestation_v0.8r2_PUBLIC_REVIEW.pdf">
  <front>
    <title>SNMP MIB for TPM-Based Attestation, Version 0.8Revision 0.02</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2018" month="May"/>
  </front>
</reference>
<reference anchor="IEEE-802.1x" target="https://standards.ieee.org/standard/802_1X-2020.html">
  <front>
    <title>802.1X-2020 - IEEE Standard for Local and Metropolitan Area Networks--Port-Based Network Access Control</title>
    <author >
      <organization>IEEE Computer Society</organization>
    </author>
    <date year="2020" month="February"/>
  </front>
</reference>
<reference anchor="IEEE-802.1AE" target="https://1.ieee802.org/security/802-1ae/">
  <front>
    <title>802.1AE MAC Security (MACsec)</title>
    <author initials="M." surname="Seaman">
      <organization>IEEE Computer Society</organization>
    </author>
    <date year="2018"/>
  </front>
</reference>
<reference anchor="LLDP" target="https://standards.ieee.org/standard/802_1AB-2016.html">
  <front>
    <title>802.1AB-2016 - IEEE Standard for Local and metropolitan area networks - Station and Media Access Control Connectivity Discovery</title>
    <author >
      <organization>IEEE Computer Society</organization>
    </author>
    <date year="2016" month="March"/>
  </front>
</reference>
<reference anchor="IMA" target="https://sourceforge.net/p/linux-ima/wiki/Home/">
  <front>
    <title>Integrity Measurement Architecture</title>
    <author surname="dsafford">
      <organization></organization>
    </author>
    <author surname="kds_etu">
      <organization></organization>
    </author>
    <author surname="mzohar">
      <organization></organization>
    </author>
    <author surname="reinersailer">
      <organization></organization>
    </author>
    <author surname="serge_hallyn">
      <organization></organization>
    </author>
    <date year="2019" month="June"/>
  </front>
</reference>
<reference anchor="TCGRoT" target="https://trustedcomputinggroup.org/wp-content/uploads/TCG_Roots_of_Trust_Specification_v0p20_PUBLIC_REVIEW.pdf">
  <front>
    <title>DRAFT: TCG Roots of Trust Specification</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2018" month="October"/>
  </front>
</reference>
<reference anchor="SP800-193" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-193.pdf">
  <front>
    <title>NIST Special Publication 800-193: Platform Firmware Resiliency Guidelines</title>
    <author >
      <organization>National Institute for Standards and Technology</organization>
    </author>
    <date year="2018" month="April"/>
  </front>
</reference>
<reference anchor="SP800-155" target="https://csrc.nist.gov/csrc/media/publications/sp/800-155/draft/documents/draft-sp800-155_dec2011.pdf">
  <front>
    <title>BIOS Integrity Measurement Guidelines (Draft)</title>
    <author >
      <organization>National Institute of Standards and Technology</organization>
    </author>
    <date year="2011" month="December"/>
  </front>
</reference>
<reference anchor="NetEq" target="https://trustedcomputinggroup.org/resource/tcg-guidance-securing-network-equipment/">
  <front>
    <title>TCG Guidance for Securing Network Equipment, Version 1.0, Revision 29</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2018" month="January"/>
  </front>
</reference>
<reference anchor="NIST-IR-8060" target="https://nvlpubs.nist.gov/nistpubs/ir/2016/NIST.IR.8060.pdf">
  <front>
    <title>Guidelines for the Creation of Interoperable Software Identification (SWID) Tags</title>
    <author >
      <organization>National Institute for Standards and Technology</organization>
    </author>
    <date year="2016" month="April"/>
  </front>
</reference>
<reference anchor="AK-Enrollment" target="https://trustedcomputinggroup.org/resource/tcg-infrastructure-working-group-a-cmc-profile-for-aik-certificate-enrollment/">
  <front>
    <title>TCG Infrastructure Working Group - A CMC Profile for AIK Certificate Enrollment Version 1.0, Revision 7</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2011" month="March"/>
  </front>
</reference>
<reference anchor="SWID-Gen" target="https://github.com/Labs64/swid-maven-plugin">
  <front>
    <title>SoftWare IDentification (SWID) Tags Generator (Maven Plugin)</title>
    <author >
      <organization>Labs64, Munich, Germany</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>



  </back>

<!-- ##markdown-source:
H4sIAGkGl18AA8W963bbVpYu+h9PgaH8kJQQ1CW2k7i6a7csyyl1LFstKU7v
3V3HAyRBCWUSYAGgZCZOj3qH86vH2Pvl6knOvK41FwBS8qX20RhVsShiYV3m
mvf5zSRJorpJi8nbdFYW2dO4qZZZlC8q+lfdHO7v/7B/GE3KcZHO4c+TKp02
SZ4106RKmzppFvNklNbZJCmy5q6s3iWT7DYfZ0naNFndJPuPo3HaPI3zYlpG
i/xpFMdNOX4ab6+yept/mWSL5gY+eYS/16t5lU1r/4W6rJrwk3E5X6Tjxnxl
OfKfFeV21OTNDOZ6dX7Gc4tf8dzi5zS3+CKbl00WnxZNdl3lzSp+k1X5NIeJ
5mURpaNRld0+7Tx0+iZKqyx9Gl9m4yU+Ft1dP40vjq4u41/ge3lxHf9YlctF
9O7uKY1dwZYkz3HDonTZ3JTV0yiJqxKnlk3ypqxg7nkBK/txGB8P4xfZBIYp
7+BT3usflyv7YVnB6/51WeSLrNLJ1QN403iImwC7lOEG0BbB7OSfVXYNi9LP
y0nm/rksmgq+9fMl/La4ocOnv2TzNJ89ja+n8up/+Qu/cwjLgQXQjE+G8Zsy
b9xUT6p8rJ/QPI/zelzGl6u6yeb/wElmt/DOfxnjy4ZAAzq9f4XdzJtfr7Mq
nU2Ss/FP6cpN9V+zuoaj7vsCzfwVUUE6c8ccH11nxXj1j5j+X+ZTmMXhvxR1
OrwubyMg9Kfxb79HRVnNYRq3Gd6XixfH3z/+7lD/+ejRE/nno8PH38o/v/vh
8b7888nhowP852nyfOjv6Sotrumyjm/SqgIipk/5F/nyKK/e3ZSzX/m79V0+
CYap0zE8XbrPT05Oku/3D5ODowv8Ha4y3zr4bAifJYf7B9/HCX0vvkQOk1aT
eFpW8ctyDLsLH8RnWVOVi3KWw5/jI7hbjqzjhIaM+RAyvYOnk6yA16wGPOwx
3Pol3LP4shzDHFf0jF41/LeQw9kQxknnaSGD0jmvH2GSNrAOnH+y/z18cnV0
LitMq2s8/5umWdRP9/aIQ2aTMQ0C9/8ar/8QRt+rsrpcVuNsrxnDtqeLBPkf
nWlZJHOgkNme3bPtq+Mf4yseLT4izklfjc+rEjhkOYt3YBK7cI3cKPEZjkIb
CnxOFvYineezPKvjg+Eh7fDhcJ/++/z0+IT/uoK/7Q+Q49U4Cv1yAbtLv+0P
v32y3bOLtGE6v2NdrrC71pYd7MMnx2lRFnDLZsnJLRxZ8rK8Dohk+/nF0Ysr
/7WYvgakcR2/oBXqBJ+GM3waDw8Ov8gMz4+TY9gqmNuz09eXCcoK2KyPPefF
OBnzKPUiG6MMSRaztMFTSqZ5Nb8DiZEsqnKazzL3FRYzZjfOj2OeS3wpX4nP
ZRRgUzwKkgKO4r7CVCBnugVz3xoIFbzMboEy9vf9ucIePvqsTfsh2X/Sv2lA
aZ98OfzukeZA3/Abmc8Xs2wOf+VbE+xeAnsDzKhAqiFunYzysg7uFF6pno09
DUZt7SbepmMzaozL1G0Nv+ov0OEBiD9gp+kg2PD9z9rwwwS0LuDnp2c994YX
d5FNswokk1VkztIinwL36HKK7Y88pLsF7m8DO7G3XMzKdFLvwUvfwoTe0nhv
bw+S6uDbt4fTbHS4P1xMpl+WwPzKP3fK58dveUyafLW/OHj89uAxKDXZ4b6Z
ec8Oe/LZuNcBYQzi2+H+D5/Hon5IDvDwlQckIP1On7dYlAqO8zNi8j9lq5rI
tyUpifsbiTJYS8ZWDhx+LLV4eQcqBtBu8g7mQ5dUzIFc5pPAfMQ2oAnsfc5G
He4n+z/YjZJd+hyehAtwk3e83E0fP8WvHMAqD0N+AyfhTsGxb3cOIqiRX2w6
A+E17iS+/SxCeswKzOUvp8/7N+Tu7m6Y1yVtQS1K2t6Tx0+ePBneNPNZQGqW
pVxl45uinJXXK9Ccpg0JqKO6zhq8Fek1Mdj4PK2a+PCp/wZvRiABQbtKr0Gd
u3y9d3pyHB/88N13+8kGCX+TiWmlWvrr6hru4a+ef6uuKZ/thV8/mWVjUDob
nD8qHjKJGPdxnte1zstsIagLTntzGvmT7w9U9/72u0ffdxXutBrf5PCaBtRX
0bbxo7auTX+olLuAmgiTBUPWqYk6MNhXoKtPavicHlnW2RhM2/pp74DNcpLq
X9BCkk+ZZJJF2twkQCxINf3Pt2x5MLDrcZUvcFrdlWZg38OHqCifn33u1QO7
qCXq9zr87gy+07pCrPIcWqlspfHBZ2q1B8n+t7y+T9ARg/XN8lGVVquNS5QZ
OR4C8nYJit9LfrQtbkQD/Pvf/jfM7e9/+z8Dp/9Zxf5g+PjzhdIBfHLy4hR5
7GcZRNk096x1/U6gCIbX+Y3oKmtIDs6sOYDV9PBXueKGNALaePxZu/Io2T+w
Eug4q4TD8d385D1y+wPCsspHYKQm4yojBgrarpgUXSPS7dWRPhYfu8fUhlgj
gGSjQlXgc6/O97JBVckDwtc+1djq1+9otFsYLgne8eMyn6TIUs+Xo1le3wDf
uz2oDtrqHhneQEQ4QDDJWAdYZyvDb58rm7+N4CNWzpKz02dfSN+9fHV2/haG
ewt08BY35xn6QN8aJfDt7f7w++rw7fnPz16eHr+9OHlzevJLe2dwmBiG0XvG
w4S6pO4MDGd8CGS5fBbFPI6Mh2l48L7rYPr3BNW/T/YvJcl5WTWyJHX0Ho3H
WV2jAQiPzXoPQ3WkGuRfloVqE8zrrczLK092Ex7seEK99jDYgaOTHh/bSXx2
dOzdlDvwG2gFu70TP6AJ43M0Z3lmjxx4adanhX+e5wwP8OXL5+c9036GrsEn
9xzd3B4dut3jwrkG8RniW3zGkzxtHR3+twDVK7/FfXmO3uHbrFp92onKfD/z
SA+eyHU/PTsK9sTYk1lag7JIqvOR0R77p02SAvbsOkO//N5ib5YXy/dJPk/3
7vJ3+d6fynnvscIrJJJTp1N4fmLXsb3d/ta7Sf02a5abvzT/tQTldPN3qiwv
gFukIH7u+WadwaLe3qSz2aro+WbbZQAs76K8+kK886Ism/ptOX1LnOptICaB
ay4O9zczzcA/g2PF5ZS5Xihyv4gL8/L8+/395OCHb/sXX9zOFqC4D4u8bjC6
sIf/wE/2aCrpjCQjz6fee3V6eTW8PB/KkJ2F4d9jeTA2T8Y6hx6X5UVWozu6
GK9ImmZAohyx6126C7ycFjW8FVUXa8/VdN294dkRGo/8ljx+3L8l47oa+/3A
3/bmyD/2FnYr6sWejLJH4c69STle4rWs+XdQWeXvbyfZGM2D9m6h23DNzfYb
Ee9QbHD3I/YDiOlh23HAHiSQbCd//Sw19FrVKBYZoFipbZj9dZkvcEkdnV01
Jz4+ec5J2RN9bp1idfjDl1A4kV6T0wsQn0/WKJrr70de7SHH5jtxejHEMdpH
bM4Rl9nckKLNVwKOibwO5QKM+RH67Ps9IPEOemZ20QVS/0NuxRO+FUc/JScF
yMUZbvtnkUNeTKu0hi+TZCK3PdIEe+7TZDwfu2gHesrS/F0y9hZRkrlZdIjm
NBg5jKjDXhzFx2fHLgaCO3B0+lNsrK3Yr7Bj8Fnq+u7zHQHiUUt+zIr+zbzO
m5vlCAPSey/TUf3k0R5GTZN5epsVYNgtr/Mg/IPU8QtRx/N11BHDu4CWGlj3
zhkOA9wWh1nLPPi9g/hsWeTjmwE8X4EWt4qSJInhTw06maLo6iavY+Vu8SRD
L88IKDqN8WSns/KOtrrifAnjtkUSR5LPHY+DDzTgRSRZC8lHoEc2IMthZ+Ex
YR4xO5ZqGCNtYhTE6NJZ4/io499+Y8/S778P+N9grOG/U5h8NoU7OIlHqzjC
Ca05xXgHaGx3GNH65/lkMsui6Cu8pRW8g/xtuBsZTh7+h1sFo4O0AwnelDjD
Gq57BeuFVWazCQ6cxnJpYndrZF2DaFqV85iuP31ccx4EDpUuFk7SDGMQDeOb
FBgP/xHuzm1GmxKlMlbs9w+2Ko3H8EpQ7artOq5BQ4zhAPH4kXDG8U4+zIaD
uCgbzj3IqmmWN7t0IDdpHY0yoBxYzDS/hks2ie+AUIV68l8zf2iwtbMZbu8C
XbhwtH6t9RIWsIph1jkYgLhZf0HtJo2n2Z1SRbB9dzdAgHDw8CyscJS5zaSN
K0A6VDB5GBL+egOkzfObULCFyMPvRI2zwG/iXICOmpsVHOlRfI2XA5Zvfa7r
CBe2IaZtUMqBI/3tt/W+299/h1M6mkxyZsOz1YCWuKxhouiANe+BmfGb8MiF
0j1R1LRZEzBGlnUte49+zIyoL36Cm8cTWefrpan8qbzLwJihWcAcnGoC/6Jz
RxKC3YNzmgIjoeDVtZXHegOd+I6Bm0zKigUJkyz+BqcB/CC/hkMeLfPZZEB/
n2SgLK/o2nvpJusb0g2ivxUNk4LlLrmjcJ4eEIVObBifAvcpiR/A1+Aul8sG
ZCtuHm72xnyteOfi9M0uDgxzmfM08T7EuchaGDbjkK/wGzwHMA/BYER3KkwK
mDe9B+/xLGuA/GuwQ2ltlnTgFeNsgrSlJ0v3B56C+0h6sTn0BTOWmlcKRIcO
d5BIMDY8Nb7JeMOBZ2Z3QFbIC+KjIl4WcDNmK+Ivdb2ck88d3gPXcZTRJNNb
sKHSESjWsBFCRPi5XBK6rOtcyP2MlNedp3BI42q1aEpaaF2jWlPGWUEbga8w
985dLaDlup67E9d5IHtSpYe5TzXBX4BIvvoK9JVqnovCAve3WM5HwFxxAPgD
X5QqW+ItIUZ67/28oruQF+PZEpOvjhaLKs1rNFRKYLYcfDu5ZaYyCBJswERZ
zhr9DO+V/54P+r5JZ0v6gE8GA1urgVAhPoMr1N/i13fAjZAvtZhGKGqnpDri
hk1BbSnviNZh9U/hQT+/p/QNOQ/coGvWA+Dbg5jyH5hU4P0pLxp+jcazNMes
u1E6fseyMXOLSkdAh0os/kBxNjVydVQMYCXAxMYwAm8piTDD9/m5QZS7dCwZ
j+RXwV5Td/wqb8RnyF+NkObKOufPlABxSmWMq4f3wQnDDKbLYiwaMK0SLkVF
X8xu4VBYjg7irBnDjhP/uS7hq3gLzCnnKCznCxYyNARSZZxOgApzVIYaUuHT
xt6kYN6hTkNfvYNLPUthejfIzZHjmIf5j7gOUA7xKgZyGgcD8ZzOFygGE7zF
MP1f/GXeqMaQwpS9B6ptrdHSymgVseSFdebAVBbA5ZHyHJmO4Q/liBQvvvXX
VbqAJ3AE3D5i16TjySlHwQVHufnXJQo7PEBckNJYr27oqAF9LaQL8ibqdhHD
9ru1XBhGfotTXvH53MH/bdNKSU1jRopvi0juTFip8OcGzOFFn9SD4e1WLJSh
wq6AlhRnwJAmE9YOnNfYxrbVBbnz6uxyFwcDYia1Ywy3WUR6nVUoqSN4f4kT
drOAYWYrvGCwxZjbpyIiNTyTgulz/8K6nC1pr3E4UMdu0NiE7WvkZeQ0het0
zfPCgfla7A7jX27QaJIgNnCjmALOQHkRXQdLRm1GNYV/oJaDb8BEa5yVak6s
LtcinqNN4nmIqUxvwFB6R9ZFVwkZw/+hCgcXgvTG/FZumTB12pyMhMxCciJZ
gDqhzJoYbgjKFpLONxltexqhGpuPl7O0Cu+nXl5Vg/l2ei2YyBGHIjFEDr1I
HXqwJN7XJjQb7tIVK/pj5mr1Tbi/uA+wEhhoibqthj/7V4fHKFoLbRiQY1bc
5lVZsD6DukdZzFbRFNR9otbO1srWk3rFhsFtpgSpnC5k+5FYZcvZBJUOnj1s
0042vAbr4jpzrGJWahR6bDzuf4ijOsvuVWbx2szA9Fhe3+DVpwmqemh5CR48
JQGHzgekXSAOuAY1ayczCnsj8yF/K+zFpkW6ZUWobtIX51la1LpK+PSEM3es
unBVvsuKuqOQwFWE9QALPy1i9AkxRW1WW/ga5SLAwltHV440LiBmmAfq5xlp
Y3RzlTNHWEzA1IGaeu1YNYtKM2/jhKljUqxGKxrC6z13RMwtnYd1MRwcHsGd
Stvf4KApKK2ohq0WmFOjNhJch+U0peWScgcCx/FVvYaOyMbjbIFEBvcyGsF5
0Ahu5biedS82ZERK/E0pxiIodjmICLTLQHTKnnXUNNRHn+vG22wiVicqTNVH
pbzXoin5+yQo4AU1mmagftTMlGtQ5r6O+0eRr/B1rElr4Stf4c1lZzHQxWK2
RNYHOnnC9M1OmoU6YeBqD/UllyIi4tcw5G0O9ri+hM0pOM2b8u4ea4pibH5I
52ZETaQsiOnoqDDkO2JB+geeD+60K2CIfXwNxzyv8tt0zPTpApc1zIqn5pjh
FG4U8XQZEjUeSWeQc2yrrqJ0dHV7eu8laK8ls3KkiAqNNTgElO4Fas6gOeTv
Y9H/4Behix/xVKJI5b+3jkeghk+BaZFcSAPDyF67uXp3+JIKd6sjr8Wq0pl7
7QA3FJhUZhVGq7ewL0cVKaeTTquM2OW7orwDnWk5Q0OBtJpcbM1lYVw9rHzC
hsC9DbgW7kBJZDzzujTOFzfP6XSh7om65ChjxsIads4cuK3GDIKJMR145T/y
1qRQfqiD+3HE14CkYefhvJZC8CQRO5fWaYow1Xkmtr+3wm7y6xu5bHQrnzLh
lrdkB7fza5OYnKhBFpPeYfU3FI7NqoeODHnnK2JmuOt0nShGR1+glDtnRgXH
mIPiTaZ5CnojPwyneDKdsuKEZg7OieWZM2u4TGSOshHOqhZfDDrFkR/z+YZs
Gz8Zr8azjO+QC2JQgnxZrcgv/y5bMZ2wg0cmytLFqbNVNkM5vVPven8mTKYs
WkKIdZ6uGuAW4UasYQLeiwYXothGxz+59kAeZPpH0rKE7NkiwLUwy1MqTEIW
aM0VJlBLhKEVRLwL3tudoLMRzaVDDVXWz4OJFA4NUbzduP+kqtOCVFNlDSMV
xwLrkkjcmUho2DrmUbB1Oek0ZL+Qcp3OaApGfRw43xQrwPo9nXEjNhdfuzrY
C1bjnd+m5dcfYCbe9iLLqqQpE/zvNioYGTnewgiAsU1htWLqAUnC21grQzqH
HRuxJi3KHdATm/43+QJIf+eS9E37QlCwRhncaKYpuMal6GOb82FBjWONoCVm
7/dABn4bwwHuSnaXgq5MjsG59/iPYC+yLLwDrQ1SK9jpLcSNOuVwdG+dsOHr
Q/dZ/AjeU4OsGnVm8oHIu5At0BlXhl04WexjNXDTy4o99yz4PGVbXY8sMeRh
TQMMirguC20j5PiGlLXek6wykQ61/XkmK5L+eUE8j644LDCriZkX4bDD+MjH
LMI96amNwGT7PteH+i+Uxfuohldn0Z0zqx2nmoQc0gb8xS/TUgWqDPUR/hPS
DInu+bIhGWNcZ6pbeWYpISa+jWkRh0fZPcgVR1VILRh4lSKKux465iDVsuhu
bBT9XIuAwDNbT9SOKaV+9sKFyHXIJq6a7Gxp+lV414DqWp4gvbMgR+dRoDKx
/gFcAXg6sBEnLS0pdQ18mEyUqsIk0WLSD0zEsiVjzRxoUjoDJ7qDyOY8fZeR
7WG/2dTZbDp4cFwgihxZqX41KksTFpPFa/SWTKgqG8NN5Sgl7Tu6LeaeKmvc
F7CUKg4rChXCvWETD8d3iUt4cyxB77BxD1elScopc1Gy5mmr+CWqSxTZe3Lq
XWcD9ioU6oICll97rykHSP3B5KrfDqMjO28yRTmmY6/owDgbcff0MGENOKmo
e6GoZrv2aoJV0rZrSgleF3WuS6GniPxhoItREM3IA1ownYu6o2Cq00A9MGFx
6xkeALWgBMOEAyZdVeu9vh5FdMPUL6Y25zz9CxyUuH8x+Tw6GGragOyFhjba
vmKSzHjyRlGVQAO8IGCREbPIHR1qF8fleEMYWlhQfBBtjyHaF94DR8IqUiey
dVjkTb0makDigrwC+DY4ZqoZzufIQymAGEWHw5C9G118mlXOme3ZsLNpcDpB
ZCfe8Z6DgWFJgZa22ycm1l1+z6oGkRVt8HkoOHGdxI9gRd8OuRZ1lYojTPc8
cnwOplLUXpCI7xloyp00yWl3qGibeQ8I/oZGD3xmHc2NepDRGYsuY+CRaErA
/kyXM40z4f4X8WWTLeJHQ/IVuMlESF7qCoJrUFU58lKgjds8DV/m5PYVeW7S
ogCri0wUEaxReLHdRWETtJjgzQeimZuI/ABesGLpLFqYSynAIgh4Ejb3ESJE
SGjOhwvtHSnH42VVU3ARZUJ4Y+CLrKoqo3OPAefNwAZDBxuZcW636SS61s6y
5gBeN2hJEXiw5spFTPnXfWFLlQjs24fvjznLCWjPmfYLKihDlcFYhQSYguRP
tktmeZ8VE6KnsFBxa3R+gt5IWfZ+QUSIqtoq0F1hPpeOZc7EAbkpVhvPwRZv
SD0F0Wiomrzd6XWKXLTrs9xJ36Xxj+UMvmwlV707kGwUWJVokLL8TvAIPSuq
lvHVIv+281xifHdGLMhUk9cUJRU/E202Ofv7XAMsDPjb+g4TCL5Brt9oVl+u
7Fw116fK6xzzOfv58gq1AMa7gfdQSrpgcXScFjtUUbyLFpGB8QDhhilk43K5
mKlYhNub4a3n8G/COpy5wHLClotxPB5HOkX3NpwsvS3eOZW3Gme05n5ReAf3
e92gzDKdIUg+kl4tXc2mGmMKs2wq3h0YpqxWSIDIK2wSFq0TRwPGBPpQwkkg
7ymgl5gphBFwiRKwJ/qIXNpwJzPgvxWQWUQ567yDk3xK5IksjZ2fmPWUVYUw
qruU7SPkX+S4KNhxauxEvBJaDxZJvh9xQTE/8e/Z+xTnPYiDKjBbjgan3Vum
hjoNDIADd9YcOCtgh7lAQ8kJzvQln+kuS2BbfWbTZsjrGQR1Oj4VJ/g1V4fm
E9h5Xg0nlkwvagX6RRd215K4EJ8DqnR+X4LXX4guCJzj/PgC2cS/LSm5BZgM
QpJY64YZiDqoAt2IxJ05m8zHxIlaS+GmFMT2C0Yfkca9AxsP2YALa5DOz844
5KJU70LiuM/pALuAb1wWowoDVkKz4qzGkRLQb0BWiZ7PPhV9Gzp+Z+kKt8Oe
C2bwifnh1HudZ6lvlJRHSteg+0zymfeMzANWjUXEtIMHLYsBlKcJEa73lvI6
gSWy8MRXwvfJlrhJkS1wHCaN4RyZD9G5I1lQKoEcAA4o30cCggWzbkizmuif
8FzYr+YodyyZmPRmJhIxh0iOIzTA77/TfcXsCg3DoCkFs3CbQ/fNmxe0FJOO
hY9TKBn5EZoQaT6rd1kjvOQJ9Yu8XpQKK/+c95dTh9SP09x0An8uuhbvcEiE
tXQTpQucnc5jyKxv2ohdF7BwYlMaAJSU2N12XI4TxFwo68JEw8Dw2eiGo8Wl
k0mFGhqOufWS9LOTYrIogS62Ipck6IgSjFFQJsulsTwomQLtU3qIeDQYenCW
RDc+z0Qzk4yHEfgV4RhJFIkHoC1mwqMQCoftYSrzHGQ1ou81y9o7MbU2D+uT
aqGG6bIiX6gLmR1LDq3kEe+yTdhKB7JuYfT4E1eMSK2kLE5kQkDQwFBITbmh
WCxZOluorMuFHJXvt/C8p2lFGcFlXeewiWLP58gSVR2cZneYuqVf8QEGSiAD
UwEDpi3WDzc8RaWljoTB+CAc5gponvMwdlk4xg9UC6kJ46OVbqF7JXF63NYg
IsYrFlNFXAiXp8EBJFEyZhpM1ymc7UOp2HhY1kaNfE63JPwMmLFMwGZDjwU9
gf6kVtZbaoxtFiCZ2O/wryQQs638JaYKAYFzzCUSeU8lQZwe8b+yqoyvSnQr
2UJmCWVejmHqHDWjXGwaxoUhLaO3MT6+TJwuIJcvKAAmPx/WVoq/YKZ5uLHJ
IUkXknk3hy1Tky/xGnU7fb4O05yD6F3b6+GTZMXqnuXzXBxauGIKRncIR7S3
e1xvuxK+x/Ce8iPWO0hZw2SbskhEq0tIVwF+j9acVS8D7Qy4o88RRljECfAs
ikaflleYEHNbiuM+OCcXNzd6G1qELk5D3zK3HxFsgGqCwh+gHazkNuohDPEw
BXHoNsKdBG08phTJ5vq8JZdjzclJvUlJzvv5P49e/cjkjRCGIgtfnVwdv371
gj9HPEO2TEbLhjKYhNQwraPmEC9HioLSCs1gQHdFKXd+TUh4jhkKqmfgyVLS
kU+KXu8MJGH1VfyauaVcsa/ji2WRXKGCFWTy4mxeYpHuA2p+5TBrVpqUdWgY
EB0LU/Tn2NIIVSF3yJVGuQ18A5A2MEA1oA2UWApKvAqmSXpgq7CHJ8kmgWRG
oUMsoZxDSt5sFbZ4r6PMC8MO27eZm5OWfBALzt4vUlTY/B0VSSOsA4FCz1D9
wQuFOVPqGNPUelKSOZ2CpTmuq5NfzTEQN6oYHbJ21ACSOTA0qgrv2wgioDNa
9xsqkIhPVHURVNOnpiwEhiZ/u6YhSFaTiDQOhwXOQZjZHATVrejAmO/hcuSD
XGNWH+gAkN1LsQZeB+bTZGaIwZyRP4ks8CNNiRJJ7kkh2CgpI8HR4D5Luhdl
Ls7LCQ19f3mMpEdIxcDlLMsWBDlXP+0R2d4v6BISt2p8ZAsd6xiUoucpySUf
kTEMWmQ5kalxAqPWD61bJwwjRD9Ym0kdeGWoegaUX3SKwT3rmQPODO0ZZixv
8grD8wo7hd88ZkdGpmkGT8n3lpKIuNWvO72XI7Y3KA9fX8LeR0DrC1zXSKob
fRiFOMDPmAR3uUjR94Vpet7Tr9SvadFEBHyhIrIZ5XuSCN2dSh3OhZRol3EN
n68WKNXgaAexZJSTwqNJAU7f0eheaEziEPJOeGSMyVowk9b+RZJZEGxg4P6K
WTGhbE/YFMP6ezK7cUOiLrV0GD9pRt2sOVKXUCN2cbfQW2B9G+y9xcwaUsCP
QgW8rfS10qR8cKjtyPJ5M8sCdbiI06+VZOH6JD7E6d0iXQ0NZyE+ADKMYa+i
xQ17yTF1haTzC1KU4wNOLWCq04AcMnBMxucwKKbOgtFjbKXRX4AP4Fu21Hre
aqeWDknp5G9u1yZmh2a2JkSFcfhJDqQldYsuMGvg5zilCEOcmqIPZDKM/iR2
O/IwNMfYNYBBYDQ7Oq6aKXqIKYIgNiic44CHu0tXPjZtjuwWiBb5In0d3hlT
2npWi6/BRir16J22ErF/l28pOVhQMuK1cWFU4nQzR9tn6pB4BhdZE2i8G0UL
MuSsnFPFuVHKQoKI6iPBy2rnGKw8GiGeSCZaBpuq6GtyqdzrJMDAZYRuvZRl
WRI8MQnrgy11jpgh0pnJhY40QZa2grjta84Ay4yyI/fCJUNav5PPo/Qp6QPK
Il+kKC5RdmpejIvOUIUd2YBVea0H7NNjvKOryvDAbx0FsM2A6uLC+6CJfGsT
jxutiNo53sInGF6hgbqaOAwblh2C7g8zwkQ7zoTHbzGbK9AM0uw6+lgCGnCg
QpOkYTNd+RSBHqneQghHSzMdY36cqMa52eWh5kZjFIpjY2K2B+VFRoy4qkDH
5kboSs8ofYQqty+XzEteYH01q0CwI5QGTLpbN2igdhKsdbsOt4zgPHDHXJ5M
FFzdbpaeKwYZrVqhPWAzwGsam2VM544L0Cia84FEcoxKAs6/RrxF0135Gf2O
eLeRnVAsou3cw6y/Rv0zIxJrmea0mEWT3u98FSQv4d5XsGWodWOydjb5g87v
JMisTE183iZPBD5qSTgmpwsM1zSzDDd1mTlXykckU7mQNNfJKhHotGDJ/wU/
hGjwTfJpP9/Q0x/8898Eo33T/sW8CH79IE9/YDAX+Cd8/scP8UvchQp/g19+
wh4PM/kT6mgzPIQP/unPe7f/f/n5sObfwc+XezrY+W+Cf39z/9M9P5QucLD2
C/c8rT9vPvnpcM8/9ukPhADa+60v9e4L8kitf3/vxw+7JR/6P/4m2jTp1kvu
/5qc8eGDvx7O/IGz+YbvohM2D52ee9i/jx7E0G3T2hisIyDFLJ9nCafHJxQ6
S4bDoXznj8ylfnsafwXqf2K0noTbMxDCyz9vq1rUthEYmR2YNbtEQUJdF/+8
hVHrrd8p1ZsvzCDMyUCGvKW67RYptxSxaqmy5K13jhnS5NGEU2e9CG8nuc+P
LzgpD4xjI2BTVtPXh8kwvSviQ3dKDI6l0o11dVaaJoE8JFWwnE5hW99zTWwN
lrDzIKlemwfqnbjcfsFpP0cXgt/T/wFaCS67VfjdgPJ5Ter+eCnJEQ+OA7Nt
jWnKlfsbx4goWR3E3EwKT1k/IaUh4tLPtODokyu9d0G3vGjZDqcuTdhFMe03
vEtVT50PGiepZgHFXzCjiTb/lqOCkUuM1f0XXcPFzmMPueRimxTXbCmkR6Fz
WZJmaRs8xYnGKS5U57PCaXIxdO2eiBwQCOZj+CIA0Eg0K94nToxnVBiEgzpt
WZIwsVKA/uz/WDujbcEuLKee3ICKq1pd5LaS6HvqirTlZda3RAuwliDbMCvQ
M6sFEIdEKTrVdo2ze2uL1BEZr6d1WmpEEos+WietG0xMQSzKAdVZXRcKvhHw
CKEO8UJwZpVURs5BgVEbXewaG6ZFa06sFkoss+UZfLUkPalzKuQ/OAaWNlCr
HuNaFcMrcaSXFgY2jNhEaXx8/vOQH7MXMWEHsHpMSyQErDbJKvRblxLvGTPa
54zHIkdbiTG0WTsj7Rb0bUyst36YnBqGhbaJhl41tueQRUA6oOuwpsOhdHr2
w6LdmgKZixeOg5FCKERtskybOEo3tgxSf8ROouxIc88ca+5kVagWbebVsGMu
r3wuG32Vd9dBQCN86lEwHZ4JFtfcMxNvVNUcZJD74sfeRdJHbxtnFARZ5LRr
6JCjgqZajD3Me1pXlbjzbGX8AgN+8YKw+xu9xWEGC+z8NqU3cDY2XR5Dvhgm
p4yQoLXHQzvt/PZbf8sgMJSvc/bjuyCHZm2grLnjMLlQf+Skp6m4Yz8tuuWo
PEInJM43TRGNf0YwdLJGdrBvwxL2BhH6nJjKXB2eBzuR18UZBWlHOe1WhD3K
/EUUtmRyWx3ugb8eWGVdqqGLlzO8YtY7R8VZzD7aN2oQz7KUYqRRUcbX6YKj
qYXbFZoZuVmwYJrgkBpiRgMYomE6m7mEDGeioxcNSCaKXpSVYxudfRvcf4h8
bjARX8FsC7K5uQcI2GWdXmfiU+d7ELlzs94x8a5zXQ95XcTynSSvWTK4VyMD
828NQLvwjYbZ03UUKQDXRkJpWq8VScYQA4qtWy/whWer2LdQGnB0noSGAJCw
/M8xeT+vXOobxRgQyJCr/0TbUwepozciLlr1mCQCpWsRM5tMNj+KF4bcWpga
0lOAKbMrx7mT7pptMMmcMqXFAU0cUT16I64Ocr7ha5HtKfIg68LirZmUvyLG
ww6G7W8pjwmEDkYsKeUfOEoOigvFM4zAxVgCmgKf6qwIbJJ7LeCODXVUG837
K/wUBnkhCUoPGgTlNv3HbPWH6PNXkyQ4E2WtBJszDkWD0xZ0Ofu6qgM/Pxgk
l2xi4pYB1uSkytFptRvuScdg/mLLec7vY48bz8p2oGH9BGbKUzjUmXwbLAdV
SLgKeeH41eYj/sctBwSKeLWI+3ZunDkgmMIjncnjYDnsKZ1kgSNVT4l0P0qP
At1o7XI+dBML3pGDbShqGDEnjvtsGIRuOJfIAaudLwQzIS1sET2e06aZeKNq
xluDHlAuO/i/fDqSfeAa2NmETlUiaLU0hSc6kydffiaSZ4bBKCnW0FRs5Dp8
LjWraXZPvgs2tsvPe2Nr6HJdfzpyJg/5+QefTnAa1rLyl8rM5HudyQ/BcjAd
Lf7x4udnh9wFAfNvduPen/8/loMKJyfMSfrS2dEuTeFgXxn1vp/JF5GA6lVr
K0vqUNPPY/l8rQ/tq6++elU2DGCGVHo0U8yqmqIqgaZAeue4vEZEH9YW4JH/
/I/9P+PXtOxQnBzA2jBe2w6mmgcQ7MwhPHRLaiOz1wNmnaRgEfSUtXvAqmG7
yZs18A3zZr2FdjKRKZXxKrI3lciDMZvFpoQ1UGdAjZqqW5AWZAf3M5I4Kiu5
HGIzQR7ktpW+Gia4WMouKXAgaE3PJaeALPpn4vqRlw74H4f6j0d/JvZB//7+
zwxNtZzPU7YdCe6BwVpkzj7ZyBV8cV16gfg0VLYr6fkVjMXlTWSz/4lUYdXn
ufTCVSoMuGoS+W5Q5oIckZx1JZdjM0jeUsvmwfJhhE14g+jF7doHqqDMSf0X
g5btGsdjI78iV1XTux6y53T+VXadVpOZ2HaYIOZdPOJLGbptO/xzGyLHF8ul
2GWMnnccHBayZTFFjOCkL95IpYBCrVDNqTp4I7MFzsXpTEF/nw7/PPRVmCaB
rMjYu8KF7pN00VDgGaQQQx+KPxwnkqRUMUP5VdH58Wns7LZ6VjK9F2woOqxu
xlcW3Uy8cqY8EBkj44NcvD6r+6fNVo/1eOGy0RDzG/5ow4Z3Q9WadmXJBXFk
DJKInvvf//bfQDVVlrx2WhVnLsYR1/ortIhzKaWqdrkgQedRmZkR/IFjgFb0
GO6rAV+m8K/o7lFHwxNRLgIGhaCRgX6Xvqddssh1IJXss/TorrLwahK6Q+VK
oCOwXPaVHbXnRfWdBlUu9Bk5l60Y3WHucOPEQ4blq6y2kv9FqinZNQNG5lLS
7QVLm69IlM5xP537PPJ+H83+JKjUvnwAX16jVKPo3s5zGeTiUoXRdJa9z/nl
w9gF1WrLbRS+Hd3+4gew8Qkp2BdJkgtWr+DPSiLejpSFrFp+2xmVFCr33OXs
vSCVBKeOI7Qmoca8TmQlpc1YeHmzwi0i9KXaF8EEaQ5cIYZAP/h33CHguFFL
/lN0gs6P3QXolugGZuywPgFG9tlrDrF3mrbH6E1XVL2Eoh0cDSGMAh/f0Z0p
Fa5FKk+0U0jKKTYs7U3pvDiuXM0o5bwZ7jfghaddR7HrhIBCUSrX8znW9El1
IeKCM1IaWeU8UkPpZGHGHrEOlpWp9xPe5uVMjE4GpKT9qrkQ3L+dYz/qFqeM
Ke9ExvfQdXNAM6hn+HMmdABSAzN7clS6ReLbudI4hFIw6hGDut5Q8ldw5Bz9
QKlNPJAJOgpAX4W9OcUhNWDyyApYQlAol5O55EvArxS2lpJrJPw24Dhajiwb
nYes2wqgoXxCXH2X/WEOEIFrY41jbOK2xba5UORcOPosnVM7g9JAagCPI8ed
lGdiPp4WYO145NcHt5RF6FTfXj2O7OUglOqCcNCcgThRMBV31wR0oRY3t+cI
KWPiabQAtvYWV060B9tha3N2Y+q5wdsh9KYBGk0dJD1xwAiBnPokRKPlLKFl
y8oegpjj3eCnyhlIDi49wszfKBBTOgxYWLiJZ0e//065ZkOXk/wTAb53y/2w
wI2tHMRmMjEZUoiPCp+AhdFbdOgyYjTGjQjmz6TX2fNEquDI9uY0LkY1wtIN
A3nQKqn5DFACH4teG7VsJQUqPh9jfbLDeSh70Q5mf9R24FToDVz+qzg5bnKY
guBLvU0BuM2nC2v8KKpLqQu+gmkQOxTcozXJoKq/MbyC/YuiQUi0LJjcEFgh
4Z1yJQ3LIyqSDmjXg3QNSBojWZFrh0Dc83cZ30kXpP8DiwwPl2HqUzllwtRf
gTYVbX1s6/otW59Gaw6iGRrZC4Z1itr6Rw2xapmtj4q45l41bSzfpl+w/sGx
hHXT9buFWuugfZIRzC/eOfpp10Ef/fvw8f4PAeWJiocvAm1p5g/b1NzW6dyh
KQEVBFnytSEPO+6OK93VEVz27SscjtB55QPQgunDgQ+GiEqsN0cb2wgh7Kpt
QMKuBqb6V7ooLvNH44lhfslPqgxwoiqMh0m3Lr0kcpAIHkcXt428JcjB/c2n
fF2spiESP/rJLt35NSJdX99aXUpu+DBanNuNj7W33mT3eZyKNMe7s9qG/THL
9aqcls0rpwxUXkp/nsmWKcw/89GjunyXFkndrGbEBpO8SOB7CXe2YuDFdyqL
53kzZ3RyoN1XLfhNk1m0cEkfS0p5IGfvr1hU3FBRcVDNnSI+h94cySd3NcrY
lUxZECJ0LjwDCgABiIix/tki0XJ+QQgdg4eknwClIG4jJyudmr/DXcLjDT4J
gc95TshWR1lLpDikcRh7x9s9a6QNvQhLkWt/Jq0XU3aLZolIqVsUu7pvRJtx
UGQGfy1EgmUIOXQkCfKKZTYtSCjid4LHwsglyFzyKek0VaaQ1iieTw2TeAGX
lNWJoOVbt2I3QDtPK0ZgElABB74VsfunB8bxTlyRpa0K6G8R4hGCsYZV1MIB
N15z5U4OmUtfTaAvuSkN90Y+gydd3VjsLXOyPq7dnXUqJgGzGAGaO/IXdUeS
tkhdHNmVdyHVdklE8g6p+MBSRWWMzw2Lo3qUoNakDUXCXZK9Uxb1RI10pbMV
WbBYh1/GWNMI7/nLcnLNuWKCudjKzQgRlBhu5Kjd88gnUGH2VKsajlHJ2JkG
m5yOO76pEGdPFJjIOx3I0e5N4E7xKsPdP+rBQTE11UCjU0o93bk4PUM0JqMa
tmsryL2ONTkMl4wuPmysslHXxPJrLE8RzmbcX+YB0zwvwDUkY5lEgwF7mjEW
rTp0uC0PenGElFlJo84iOywYO+0MlIoYy9foxQpRf5NXpErgKTqSK7EJwjbc
7BHmZzrrjrvsUCkRivvG2elbnPd5XZZaPrrluszA3hK50jbDxrclPhYZk5Ug
mkGYYcZOc3Tp4qV3Pti0cU4O8l6xGzeKdf2SlEZONLh5tLGuoUdHyOEw3XuJ
wy3IKe7s9BghpOV50GwZguP0LOFMSjZYT6f93TLc6eH6CXFdHHncR1W0rtC7
JZ4t6WmVqbXKqUDa2ETr1mSzFrN0zKJXCspwdPx1nCqGAXYbBEMkLcYr1pDr
IOxA9DibLUncOCl++iZx60qCfBDSs48YJs0lSjXp+7Io5yvfvg3uMLsg7q0d
lyqfTsjQlUh8c9/Hvqoi+tCGMHJB0g/eTqXfpAzFFxD4b0YfHPBRGHHFf+wI
h6bf/kleDB+LUvVB2RuMYr/aGoVa/OlvMsgfP8RnxfWcg/jMHHEuZ1ZbCkcx
l2dXVnRIS9OP/IpcqKM7l57Qsv3YjuIgnnY/Y5Qvc9K9L77vZ+8/NzxH+7ff
/ZxnLf/4mBA2/ERhcciaO6URbdTAPAGHX0HJ12mfvTbkHX8da+XI/oC0ns3Y
Xj0SzkfHzKnPqXlXhCwaAQrKKnuY+G2ZScK4Q4EYmB8jBfhsIZ6HGvuGdkDc
IXOWdYRktNNl5bS7W2BAjUCob5FkV/gr/kQbehGeL2Xs31DHGJABaFGZKp0w
bKFsoadt3C46cGGdN+lsypy6pWahw4n20GPVW6gY1V2oAZqGVXC3B12Y2XCW
hwy/7PihHIzDR5YX4yb7LgKpeh3IkoeDdcHOW5lIeDQ6+i6jHWs+nMwRDRH8
ufLu9HYMjEWkx0N1TYSs9Lr80+ufXz7XmgzR8c/P2BBS89MEbLEqp1ISXO8P
EnA+92f5G2H/sPrfzTGm0AnZXBi2HHRij0G2IkZOiDrn0t7aL4RTRoKJhoHH
3nxeBhHkWa/J9h342VnnMun4bbebbh0rSoT1Fxj6G5244xBPquXJZS3ZJvIz
0cA8a9brrTlBVdZ+c9hmbdoniZRynBZlQSG2E8LfQ9BO/jrMwf0xoT8m8Efa
EIccw6EOXKIAo/CjLuiP5AX6Hh5ywvi6qp+eHf1Psj81QuwjtYwDiIGI337D
52CFRD6Ph+w33lgX1yGAq6PzwGjn4sLffoPPqf+ta0TI3zyTjPLUoXIltgVo
q4UYsVhMtXZdkvPitpzdUj0hIXbYBCmfSS3MIJy57xaXF64ShGrf69JRVlCO
ZsA2HCQQTCCo1lcggEGHGO9FMRgwmB9hs5kuxgIvsRZ1cQ3SInrRngy7er+n
UkQRmvCtufzl9Dley+OS/tWkZKD7nvV5oWANcMTAGa23Gn7FuVMdYUNZK3R1
Xp3CDp5ewPV7sg/fwl+T04sEfxXsNBzv9OTqhb51UqXTxm5TnY5hd8r6Lp8Q
7Vw6iSj1a0SnDgOHvCpc13jksfbQmAgh1N51uhnX5tEApg+DI5PlWPttv0dA
a4Vrk7bZanBqml/bm6gtGzbyIsn6Fcdh110W76DPUHCuAx8xzqTlPeQpaMGA
85u75rjxetf7jgXuWeNzt37oKDZe91CyBk5IrvuhK5piXhS3f8sC5BoYS/Nr
KXCV0jWVCk8F1GMOqJWKWruH487T6h0Tc0pUunWRIV4h8u0tfNUfGECdvTaK
nsnQox5pBL7yRYM9u8N1PX3ZO5Ub0J0AorHOJL1uwITEcCwORI8IgdzDoTsX
fwNiSGcIf7cK2qZhGBs5I1UlUZySaD6nEAL7q6WKa6gYjn4WIU4kChsjS2Cw
PhRvr5nbLjql+kx9gNaEgBkrrgy8U1Rkbahp2L6AeuNod/2Vu683zMXVGdBl
8CVBY7tsygo1fWrl2RnkwuHj7gQcEsjg8vz7/f3k4PFjOHnnyqEQwILUKEET
L6u5lZgC8GOv/LkIw3gHpOTuBoHqsCN9TonvO4co8Kje0waRTeDtjbZcoJ0X
tsgF13Kde0TDWh6NVWv4LY6Ep63LRbJjM+6zM8l6l0yShnVyNlW9IKBK+4fY
ePDo/WhCvpO09sgWACfKY5znVMrq/dvc5MltHJVsBSgIrRa3lCcRx8+kFNIl
XaHLU5GytMQROERWYHq0hAxtSxTsoUG52JwCQ1zXvJcytbbIVCKfP7CBeguP
Ehgp9nDnVtuNQ9rmzrO9LWTq4HXarYtyTspWhysN1XaoUELE0pugxy4mqMtY
YX82HuaAU9GM1stRrHB3TEMjd1bcwdX7hgf872iUTmKq7+Q/9ac/1K2q9sb1
06acgxytU0zRdlO3x8Fm31nL3srSCotEAww79e1yISjldHP+6ABTSbnQaJe6
K2A0tK59rSkCDmYO/VQR1SSnN3ufUpi6JIgH0mdlsZQMOSa4sVig1QTVlGoN
nbdfW6xwDjIL0xRBBe6cVo8ZdKXiiBq8ZPwbwRd4kDdOtPN5TiZ1ec7SRpMR
gLRwtB4QL3dOO+Tl4WyPganmkrgmBanILQ+3AMcy0QGXpcjDbjGhbnW797Vm
6+E/EBXkhuLMdFo9G2TCYr3UIXss1dCzvG4kQuLdTYK3IVke4rcWBCwLQ52S
gi5lptKyRMYi58U8m2A5qo7nwSKwRwPV+I2W1wQ+QT2KTJq8mwqjd+AANCpb
QhSkKQyRkAcioHd2GmDJNbX79FmRATzggCgUdRmg9hvfcgLfFTYQ6XgJdgdK
Q0QOorWLMb8s4DgnoBGSANyiRWzhoD5NtffcfPzDoQNkBfeCN0JK0rkFRkJ7
vrgtM6mwZIY6PL5NVFFrYEa7iWYT7+ZkXkRKoDSTCl4oL5PjhY8FHt23iugz
+iKtz6ePPOJK7gKxJYHU1QzkTEFiDHwFuy1d/TyihquyCYBMNLeWjkwM+diV
MLMzaiZI54HejwEi0CWQNCiohoBClN1rjkNhBKccTHUOg3LaJ1kiryZwzIOs
b3R3r9da7tdUtCFXZ1pBk3OvVvk8ebfxE9P6zGbpUi0xqZ51vDWCOc9Itk/N
aC4iObIdUVQjU9jwrOn2PhazEtmI4yDA11NyvXCsr8c7Lg+jRoH1TYj10ZTS
HNvwLooAmtJ0BQm2J6zcS3ZDbWtz7tzDwh0+TsS7Hu9TMuu1aBniy2DjzKiB
Ke1rYnwc4rOrlzmzE+ZLdMmI3vQaWh4vV1LvkmYR+yAo+e3MS1gB8AyYDpem
hZPyt4P2UD19wo5TyUuDPzaB383sExywfNvlsImhJyGJHsOV2r1oqcZEmkEZ
mxqO1PsWsZaaiqzjQEeMqaqIdHZr9bwEnhhF/2acdanridPps60iw1cEicHI
aixf4HlGmrl76M41HEXVgnidREvQ1HWDchogtg8rCauF4OKLyHtKOSvRFw4x
wbiroO5yKh/JR6R98VeEBGSC9J5IKqNV+SNrTVPgXdNevpL47sC70xVEnCo/
J+5LOcFNbZKXRiuf2U/64BpOzZBokcUBMyoM74/PzQTjBXP/Q0XP4LB5qDBU
RHARmi9KJnzmHU2yP5yfLskJ8m7Uuf4g+fQrm+DIgg9GjVzlECH3MEKP+AOc
+9B0P9rlTANR4V3ygz9m9a4HcFfSCo9F6W2eem5QB10Ze1tm420N+mOj8nLi
X4iXFHgH9cl0kY+v13rsd/AP+LlzwIRIQMiV8Aa9SOc5XO6D4UFMivnB8HCA
jmP60ne71vOvr+sLVKyJUEQuSKdbhUzBz9cHdMT5jH/+yHfQIA8IXJhoCYVb
/nR0cXFkkYXvN/9RvhTUekhx3krvGUldtyHC8UZUdhfxO/Y9sMkrfV5llI6P
XYFqTQrj9O9QRGn+GasP+MXjG0wrLK6z5ILh9jOJ5/QAp+/0FbE4fTLJ/QsS
2gLMekWwde2/KGyUFhFX5SxrebU2tlRwhgcVt4oAWAQL9zfSV3obvQaXa6Kq
6Js6fRPmSpq+lQ7oLHyHdgPSwlSH2becTrFar2BjCKHGrTqm2HyBms8pg9z7
kqxVTXUKNPMAMTuIYrNg+7nIwapuO48xKUnyldcVlbRxD7uhg1aOfDt2aWsq
nPs3DxkRN46uZa7o6ma67MQdNO2/E18IJJS8pGxzu4fGsdcHi++JcV911hQG
1bvoSxrqkLn6HAjOt1hbe8Gd7x4YfBtwiT9lsqurUrI4WOvZ1EqWV+UmRkvh
TD02AkGDam5WPY31Ngf02rVuxPjYb7ursDVrrFDynhC7XZKfSXw0qakzEhPX
Sb+dbQ66bu/qXZLIcbd7OScmBO5vBSgYI6CpQ6YIM87LinNCO8nAYbzPRWpZ
314FnLxirqBwaUS8m46GdcbOzotm4BaKvo2Ctcm7krJy2PmXhrmUcqhrNt2p
5Lpta3Ojwl1yrwi3S3yKrnVmfJeNqF+dNES93OiHkBViWw1VaO9JblId1/SQ
9nnGqdeVuTQTy3wlOi+N6tb4ydpb3e7bTE4RSZHuceG8JoqhK8XAEmLDUkKq
Qo5kPV0rbZeYjSSiePBfd35cmt4wSL4b9n4+jL5u76wfoJ0l6j/Xhe7FH6Kv
2/mhdoAgbdD8S7O7MJnw63Zq6Nc4s0NOAnU5Y7HkhsrnkhLKA7D33L8pmAEP
vtuawc6r5u5dfIYZpjDAUSuV8yFLcKlrOMD6U9gOTmG79/PtqPuCh/z8P5/4
nAcHD2cHPwebEji3fQKnI84kVD8VjmhjE/PgkU1o3+aG9YZyXFDJFZ0O/J1l
59UMkek0sUZ0ImCVA+mcyNGBXmZ0b5rapyWneTnf8StTyUBrhS7sfE8azQMK
gsM48pfMsxGh9hFpNpJQ41a7ySaJItfwZtFn6whKDsLaBXUz6l5SLdvRX1tD
UAQrl6kzydPrKp2bWoCaAh5vArWeasPU/javlhQJL5Ii4I65S2pTg/h7NJOn
vdgAG80qmC3bseh4qqVrlU8ptm4pSoKx8XEB3T5aUMHz+/jIz2Cd7fVUJI0X
G8NNvKUldkIZFIlIwX4hmzlUqzBqz+/uh8gzre2Ng3SYW4vj4g7tvPlxDbDc
5p8P3OnlR+Y7cDo7TVpdZ43p7bR5XOHBH+J//iMCh+fzDXCXmwf41B83wD+Z
jZF0Z70qOwWHcc/H1SUpMijw8Hu0d68ud7/IJGiwk089CHW7mrPomfXAm9LH
tN27bgBZAhwEa6fw2Mb19y1BBnhZXrtH17xvzR58kZOsMrizRWcVm2Q6/Pyx
PYBZxT2Pdgb47CV89A8Rz8WPg4sjS4xKFE4R2ensChfwN7BYLC+Yyil9xDxM
qIwLPeN/+mddyH99/ELk578+Zyt5M/591ytqKJODPiwmkJhgrbOqbCS8rXnc
Lopeq6h9rfVjO8pRd5/Gr01VDI+K3Fy1edH4Hbi2C9mSstECXkS569D90GXK
ESfERXDiN3IiL21auNwNKWo1lwe6lGAWjxRaaFyzNNIf1bHrsX6CpmK1d1d+
BKAPhxmHbrMOZbOAhe5yJ2Qn4FSXRZVjye69CmYNmgMxo3hni8FbYmneMs62
dgeC1vKOntKaFTtviqoSGLM5GNr/Hm3oRegsdSUouXF5jTl/hrys1B6h27qa
hpimWsLtfKy1Uz4xO58d5uI4oDHOSMGm2T5L63z8UX7qc58Geq8TftcfyLdy
ICdCvS2vQqvAZ12xQuhzEpBGOQ7xXSlnGkStOmklgO06FqnTbkCT1711RW0/
6jpnJBxsb6nFR1dXHDU+lIabNgjWroK2ZtgpmxKnkTvZROOybzV3YaRZeFUQ
SZMqDiJd308CsxuINCkv0J/oo6dgi6j33On+iLqaUopK59Da1XFupMdCGyxl
2ve1yhBklGnavYbYDF/HsfINTo/A/VMMyC4mQBcPwFo0feX/A00kKhhlVVV9
bAJaYMglWwyxqdfXCmDru0gSKpz06w12iIH3qMtjAAwhgbVXr68M1i1iXNnx
mUu5XDa+r+QgDcFiuvQePKAuOMz0mqUrTUZ5+DyMv1jobVJKwbtOoc5oPy2+
GssOTr9SomzDJH78nnQgEsNQkENG9JVFwVxNGqEWGN47gzj+JTPFSTbblxLE
g4xjRshwwLzltdJTiWnIHmCOExh78hTJ3pZ6AEn4TPx8WwTY3XXFIqjJlK4J
1WDB3hZldZsd5vcfiJsB3+RdZ8JQeQRhXBCMYnH/66ixOBAqyH5pfYV9nyi+
MMWPC2pDHvCDEMYDSxOkwmXNZCl+c4V54ISahl89QQ8QYd311NFqWg7eGoeS
Ym4Ai0vPnmrf7RoDe/foiFovKUTRkf2vTq6OX796gXrFxckl/VuyIf/97OUg
/tfL168ownb87PWF82QZV/ZpGH1lisXYrA5MWgdcibqMCXI0ja9eXuKIl5d/
Uq9esyywNcL6wXRqnF9P+/ox40YC54HwI1NKInDb6avdCLADtwSp2+k/H1uj
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
P1/ra6YfGJLKX6L/D+5xsXxmVQEA

-->

</rfc>

