<?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-07" 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="2021" month="June" day="10"/>

    <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.ietf-sacm-coswid"/>. 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[
.----------.                            .--------------------------.
| Attester |                            | 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.ietf-sacm-coswid"/>, <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="acknowledgements" title="Acknowledgements">

<t>The authors wish to thank numerous reviewers for generous assistance, including William Bellingrath, Mark Baushke, Ned Smith,
Henk Birkholz, Tom Laffey, Dave Thaler, Wei Pan, Michael Eckel, Thomas Hardjono, Bill Sulzen, Willard (Monty) Wiseman,
Kathleen Moriarty, Nancy Cam-Winget and Shwetha Bhandari</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
to 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.ietf-sacm-coswid  *  . 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          | I-D.ietf-sacm-coswid|
|     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="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference  anchor="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 fullname="Henk Birkholz">
	 <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Michael Eckel">
	 <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Shwetha Bhandari">
	 <organization>ThoughtSpot</organization>
      </author>
      <author fullname="Eric Voit">
	 <organization>Cisco Systems</organization>
      </author>
      <author fullname="Bill Sulzen">
	 <organization>Cisco Systems</organization>
      </author>
      <author fullname="Liang Xia (Frank)">
	 <organization>Huawei Technologies</organization>
      </author>
      <author fullname="Tom Laffey">
	 <organization>Hewlett Packard Enterprise</organization>
      </author>
      <author fullname="Guy C. Fedorkow">
	 <organization>Juniper Networks</organization>
      </author>
      <date month="April" day="14" year="2021" />
      <abstract>
	 <t>   This document defines a YANG RPC and a small number of configuration
   node required to retrieve attestation evidence about integrity
   measurements from a device following the operational context defined
   in TPM-based Network Device Remote Integrity Verification.
   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-07" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-rats-yang-tpm-charra-07.txt" />
</reference>


<reference anchor="I-D.ietf-sacm-coswid">
   <front>
      <title>Concise Software Identification Tags</title>
      <author fullname="Henk Birkholz">
	 <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Jessica Fitzgerald-McKay">
	 <organization>National Security Agency</organization>
      </author>
      <author fullname="Charles Schmidt">
	 <organization>The MITRE Corporation</organization>
      </author>
      <author fullname="David Waltermire">
	 <organization>National Institute of Standards and Technology</organization>
      </author>
      <date month="February" day="22" year="2021" />
      <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 a similar set of
   semantics and features as SWID tags, as well as new 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-17" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-sacm-coswid-17.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 fullname="Henk Birkholz">
	 <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Dave Thaler">
	 <organization>Microsoft</organization>
      </author>
      <author fullname="Michael Richardson">
	 <organization>Sandelman Software Works</organization>
      </author>
      <author fullname="Ned Smith">
	 <organization>Intel Corporation</organization>
      </author>
      <author fullname="Wei Pan">
	 <organization>Huawei Technologies</organization>
      </author>
      <date month="April" day="23" year="2021" />
      <abstract>
	 <t>   In network protocol exchanges it is often useful for one end of a
   communication to know whether the other end is in an intended
   operating state.  This document provides an architectural overview of
   the entities involved that make such tests possible through the
   process of generating, conveying, and evaluating evidentiary claims.
   An attempt is made to provide for a model that is neutral toward
   processor architectures, the content of claims, and protocols.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rats-architecture-12" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-rats-architecture-12.txt" />
</reference>


<reference anchor="I-D.birkholz-rats-reference-interaction-model">
   <front>
      <title>Reference Interaction Models for Remote Attestation Procedures</title>
      <author fullname="Henk Birkholz">
	 <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Michael Eckel">
	 <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Christopher Newton">
	 <organization>University of Surrey</organization>
      </author>
      <author fullname="Liqun Chen">
	 <organization>University of Surrey</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="https://www.ietf.org/archive/id/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 fullname="Michael Richardson">
	 <organization>Sandelman Software Works</organization>
      </author>
      <author fullname="Carl Wallace">
	 <organization>Red Hound Software</organization>
      </author>
      <author fullname="Wei Pan">
	 <organization>Huawei Technologies</organization>
      </author>
      <date month="November" day="2" 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-08" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-richardson-rats-usecases-08.txt" />
</reference>


<reference anchor="I-D.birkholz-rats-tuda">
   <front>
      <title>Time-Based Uni-Directional Attestation</title>
      <author fullname="Andreas Fuchs">
	 <organization>Fraunhofer Institute for Secure Information Technology</organization>
      </author>
      <author fullname="Henk Birkholz">
	 <organization>Fraunhofer Institute for Secure Information Technology</organization>
      </author>
      <author fullname="Ira E McDonald">
	 <organization>High North Inc</organization>
      </author>
      <author fullname="Carsten Bormann">
	 <organization>Universitaet Bremen TZI</organization>
      </author>
      <date month="January" day="13" year="2021" />
      <abstract>
	 <t>   This document defines the method and bindings used to convey Evidence
   via Time-based Uni-Directional Attestation (TUDA) in Remote
   ATtestation procedureS (RATS).  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.  TUDA
   enables the creation of Secure Audit Logs that can constitute
   believable Evidence about both current and past operational states of
   an Attester.  In TUDA, RATS entities require access to a Handle
   Distributor to which a trustable and synchronized time-source is
   available.  The Handle Distributor takes on the role of a Time Stamp
   Authority (TSA) to distribute Handles incorporating Time Stamp Tokens
   (TST) to the RATS entities.  RATS require an Attesting Environment
   that generates believable Evidence.  While a TPM is used as the
   corresponding root of trust in this specification, any other type of
   root of trust can be used with TUDA.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-birkholz-rats-tuda-04" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-birkholz-rats-tuda-04.txt" />
</reference>


<reference anchor="I-D.voit-rats-trusted-path-routing">
   <front>
      <title>Trusted Path Routing</title>
      <author fullname="Eric Voit">
	 <organization>Cisco Systems, Inc.</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="https://www.ietf.org/archive/id/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 fullname="Henk Birkholz">
	 <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Eric Voit">
	 <organization>Cisco</organization>
      </author>
      <author fullname="Wei Pan">
	 <organization>Huawei</organization>
      </author>
      <date month="March" day="31" year="2021" />
      <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-02" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-birkholz-rats-network-device-subscription-02.txt" />
</reference>


<reference anchor="I-D.ietf-rats-eat">
   <front>
      <title>The Entity Attestation Token (EAT)</title>
      <author fullname="Giridhar Mandyam">
	 <organization>Qualcomm Technologies Inc.</organization>
      </author>
      <author fullname="Laurence Lundblade">
	 <organization>Security Theory LLC</organization>
      </author>
      <author fullname="Miguel Ballesteros">
	 <organization>Qualcomm Technologies Inc.</organization>
      </author>
      <author fullname="Jeremy O&#39;Donoghue">
	 <organization>Qualcomm Technologies Inc.</organization>
      </author>
      <date month="March" day="7" year="2021" />
      <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-09" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-rats-eat-09.txt" />
</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:
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

-->

</rfc>

