rfc9683v1.txt   rfc9683.txt 
Internet Engineering Task Force (IETF) G. C. Fedorkow, Ed. Internet Engineering Task Force (IETF) G. C. Fedorkow, Ed.
Request for Comments: 9683 Juniper Networks, Inc. Request for Comments: 9683 Juniper Networks, Inc.
Category: Informational E. Voit Category: Informational E. Voit
ISSN: 2070-1721 Cisco ISSN: 2070-1721 Cisco
J. Fitzgerald-McKay J. Fitzgerald-McKay
National Security Agency National Security Agency
September 2024 September 2024
TPM-based Network Device Remote Integrity Verification Remote Integrity Verification of Network Devices Containing Trusted
Platform Modules
Abstract Abstract
This document describes a workflow for remote attestation of the This document describes a workflow for remote attestation of the
integrity of firmware and software installed on network devices that integrity of firmware and software installed on network devices that
contain Trusted Platform Modules (TPMs), as defined by the Trusted contain Trusted Platform Modules (TPMs), as defined by the Trusted
Computing Group (TCG), or equivalent hardware implementations that Computing Group (TCG), or equivalent hardware implementations that
include the protected capabilities, as provided by TPMs. include the protected capabilities, as provided by TPMs.
Status of This Memo Status of This Memo
skipping to change at line 149 skipping to change at line 150
Additionally, this document defines the following term: Additionally, this document defines the following term:
Attestation: The process of generating, conveying, and appraising Attestation: The process of generating, conveying, and appraising
claims, backed by evidence, about device trustworthiness claims, backed by evidence, about device trustworthiness
characteristics, including supply chain trust, identity, device characteristics, including supply chain trust, identity, device
provenance, software configuration, device composition, compliance provenance, software configuration, device composition, compliance
to test suites, functional and assurance evaluations, etc. to test suites, functional and assurance evaluations, etc.
The goal of attestation is simply to assure an administrator or The goal of attestation is simply to assure an administrator or
auditor that the device configuration and software that was launched auditor that the device's configuration and software are authentic
when the device was last started is authentic and untampered-with. and has been unaltered since the device started. The determination
The determination of software authenticity is not prescribed in this of software authenticity is not prescribed in this document, but it's
document, but it's typically taken to mean a software image generated typically taken to mean a software image generated by an authority
by an authority trusted by the administrator, such as the device trusted by the administrator, such as the device manufacturer.
manufacturer.
Within the context of the Trusted Computing Group (TCG), the scope of Within the context of the Trusted Computing Group (TCG), the scope of
attestation is typically narrowed to describe the process by which an attestation is typically narrowed to describe the process by which an
independent Verifier can obtain cryptographic proof as to the independent Verifier can obtain cryptographic proof as to the
identity of the device in question, evidence of the integrity of the identity of the device in question, evidence of the integrity of the
device's software that was loaded upon startup, and verification that device's software that was loaded upon startup, and verification that
the current configuration matches the intended configuration. For the current configuration matches the intended configuration. For
network equipment, a Verifier capability can be embedded in a Network network equipment, a Verifier capability can be embedded in a Network
Management Station, a posture collection server, or other network Management Station, a posture collection server, or other network
analytics tool (such as a software asset management solution, or a analytics tool (such as a software asset management solution, or a
skipping to change at line 268 skipping to change at line 268
By using these two interlocking mechanisms, RIV, which is a component By using these two interlocking mechanisms, RIV, which is a component
in a chain of procedures, can assure a network operator that the in a chain of procedures, can assure a network operator that the
equipment in their network can be reliably identified and that equipment in their network can be reliably identified and that
authentic software of a known version is installed on each device. authentic software of a known version is installed on each device.
Equipment in the network includes devices that make up the network Equipment in the network includes devices that make up the network
itself, such as routers, switches, and firewalls. itself, such as routers, switches, and firewalls.
Software used to boot a device can be identified by a chain of Software used to boot a device can be identified by a chain of
measurements, anchored at the start by a Root of Trust for measurements, anchored at the start by a Root of Trust for
Measurement (RTM) (see Appendix A.2), each measuring the next stage Measurement (RTM) (see Appendix A.2). An attestation function
and recording the result in tamper-resistant storage, normally ending embedded in each stage, verified by the previous stage, measures the
when the system software is fully loaded. A measurement signifies next stage and records the result in tamper-resistant storage. A
the identity, integrity, and version of each software component measurement signifies the identity, integrity, and version of each
registered with an Attester's TPM [TPM-1.2] [TPM-2.0] so that a software component registered with an Attester's TPM [TPM-1.2]
subsequent verification stage can determine if the software installed [TPM-2.0] so that a subsequent verification stage can determine if
is authentic, up-to-date, and free of tampering. the software installed is authentic, up-to-date, and free of
tampering.
RIV includes several major processes, which are split between the RIV includes several major processes, which are split between the
Attester and Verifier: Attester and Verifier:
1. Generation of Evidence is the process whereby an Attester 1. Generation of Evidence is the process whereby an Attester
generates cryptographic proof (Evidence) of claims about device generates cryptographic proof (Evidence) of claims about device
properties. In particular, the device identity and its software properties. In particular, the device identity and its software
configuration are both of critical importance. configuration are both of critical importance.
2. Device Identification refers to the mechanism assuring the 2. Device Identification refers to the mechanism assuring the
skipping to change at line 340 skipping to change at line 341
was started on the device through the boot cycle. Successful was started on the device through the boot cycle. Successful
attestation requires an unbroken chain from a boot-time Root of attestation requires an unbroken chain from a boot-time Root of
Trust through all layers of software needed to bring the device Trust through all layers of software needed to bring the device
to an operational state, in which each stage computes the hash of to an operational state, in which each stage computes the hash of
components of the next stage, then updates the attestation log components of the next stage, then updates the attestation log
and the TPM. The TPM can then report the hashes of all the and the TPM. The TPM can then report the hashes of all the
measured hashes as signed evidence called a Quote (see measured hashes as signed evidence called a Quote (see
Appendix A.1 for an overview of TPM operation or [TPM-1.2] and Appendix A.1 for an overview of TPM operation or [TPM-1.2] and
[TPM-2.0] for many more details). [TPM-2.0] for many more details).
3. Signed Reference Values (aka Reference Integrity Measurements) 3. Signed Reference Values (aka reference integrity measurements)
must be conveyed from the Reference Value Provider (the entity must be conveyed from the Reference Value Provider (the entity
accepted as the software authority, often the manufacturer of the accepted as the software authority, often the manufacturer of the
network device) to the Verifier. network device) to the Verifier.
1.6. Solution Requirements 1.6. Solution Requirements
RIV must address the "Lying Endpoint" problem, in which malicious RIV must address the "Lying Endpoint" problem, in which malicious
software on an endpoint may subvert the intended function and also software on an endpoint may subvert the intended function and also
prevent the endpoint from reporting its compromised status. (See prevent the endpoint from reporting its compromised status. (See
Section 5 for further Security Considerations.) Section 5 for further Security Considerations.)
skipping to change at line 449 skipping to change at line 450
connectivity, verification can take place. A separate Verifier, connectivity, verification can take place. A separate Verifier,
running in its own trusted environment, will interrogate the running in its own trusted environment, will interrogate the
network device to retrieve the logs and a copy of the digests network device to retrieve the logs and a copy of the digests
collected by hashing each software object, signed by an collected by hashing each software object, signed by an
attestation private key secured by, but never released by, the attestation private key secured by, but never released by, the
TPM. The YANG model described in [RFC9684] facilitates this TPM. The YANG model described in [RFC9684] facilitates this
operation. operation.
The result is that the Verifier can verify the device's identity by The result is that the Verifier can verify the device's identity by
checking the subject [RFC5280] and signature of the certificate checking the subject [RFC5280] and signature of the certificate
containing the TPM's attestation public key, and can validate the containing the TPM's attestation public key. The Verifier can then
software that was launched by verifying the correctness of the logs verify the log's correctness by accumulating all the hashes in the
by comparing with the signed digests from the TPM, and comparing log and comparing that to the signed digests from the TPM. From
digests in the log with Reference Values. there, the Verifier can validate the launched software by comparing
the digests in the log with Reference Values.
It should be noted that attestation and identity are inextricably It should be noted that attestation and identity are inextricably
linked; signed Evidence that a particular version of software was linked; signed Evidence that a particular version of software was
loaded is of little value without cryptographic proof of the identity loaded is of little value without cryptographic proof of the identity
of the Attester producing the Evidence. of the Attester producing the Evidence.
+-------------------------------------------------------+ +-------------------------------------------------------+
| +---------+ +--------+ +--------+ +---------+ | | +---------+ +--------+ +--------+ +---------+ |
| |UEFI BIOS|--->| Loader |-->| Kernel |--->|Userland | | | |UEFI BIOS|--->| Loader |-->| Kernel |--->|Userland | |
| +---------+ +--------+ +--------+ +---------+ | | +---------+ +--------+ +--------+ +---------+ |
skipping to change at line 664 skipping to change at line 666
Device Identity and Attestation" document [PLATFORM-DEVID-TPM-2.0]. Device Identity and Attestation" document [PLATFORM-DEVID-TPM-2.0].
The "TPM 2.0 Keys for Device Identity and Attestation" document The "TPM 2.0 Keys for Device Identity and Attestation" document
[PLATFORM-DEVID-TPM-2.0] specifies further conventions for these [PLATFORM-DEVID-TPM-2.0] specifies further conventions for these
keys: keys:
* When separate Identity and Attestation keys are used, the AK and * When separate Identity and Attestation keys are used, the AK and
its X.509 certificate should parallel the DevID, with the same its X.509 certificate should parallel the DevID, with the same
unique device identification as the DevID certificate (that is, unique device identification as the DevID certificate (that is,
the same subject and subjectAltName (if present), even though the the same subject and subjectAltName (if present), even though the
key pairs are different). This allows a quote from the device, key pairs are different). By examining the corresponding AK
signed by an AK, to be linked directly to the device that provided certificate, the Verifier can directly link a device's quote,
it, by examining the corresponding AK certificate. If the subject which was signed by an AK, to the device that provided it. If the
in the AK certificate doesn't match the corresponding DevID subject in the AK certificate doesn't match the corresponding
certificate, or if they're signed by different authorities, the DevID certificate, or if they're signed by different authorities,
Verifier may signal the detection of an Asokan-style person-in- the Verifier may signal the detection of an Asokan-style person-
the-middle attack (see Section 5.2). in-the-middle attack (see Section 5.2).
* Network devices that are expected to use SZTP as specified in * Network devices that are expected to use SZTP as specified in
[RFC8572] MUST be shipped by the manufacturer with pre-provisioned [RFC8572] MUST be shipped by the manufacturer with pre-provisioned
keys (Initial DevID and Initial AK, called IDevID and IAK, keys (Initial DevID and Initial AK, called IDevID and IAK,
respectively). IDevID and IAK certificates MUST both be signed by respectively). IDevID and IAK certificates MUST both be signed by
the Endorser (typically the device manufacturer). Inclusion of an the Endorser (typically the device manufacturer). Inclusion of an
IDevID and IAK by a vendor does not preclude a mechanism whereby IDevID and IAK by a vendor does not preclude a mechanism whereby
an administrator can define LDevID and Local Attestation Keys an administrator can define LDevID and Local Attestation Keys
(LAK) if desired. (LAK) if desired.
skipping to change at line 779 skipping to change at line 781
the Challenge-Response-based Remote Attestation (CHARRA) YANG the Challenge-Response-based Remote Attestation (CHARRA) YANG
model [RFC9684]. While the TAP IM gives a protocol-independent model [RFC9684]. While the TAP IM gives a protocol-independent
description of the data elements involved, it's important to note description of the data elements involved, it's important to note
that quotes from the TPM are signed inside the TPM and MUST be that quotes from the TPM are signed inside the TPM and MUST be
retrieved in a way that does not invalidate the signature, to retrieved in a way that does not invalidate the signature, to
preserve the trust model. The CHARRA YANG model [RFC9684] is preserve the trust model. The CHARRA YANG model [RFC9684] is
used for this purpose. (See Section 5, Security Considerations). used for this purpose. (See Section 5, Security Considerations).
6. Reference Values MUST be encoded as defined in the TCG RIM 6. Reference Values MUST be encoded as defined in the TCG RIM
document [RIM], typically using Software Identification (SWID) document [RIM], typically using Software Identification (SWID)
[SWID], [NIST-IR-8060], or Concise SWID (CoSWID) tags [RFC9393]. tags [SWID] [NIST-IR-8060] or Concise SWID (CoSWID) tags
[RFC9393].
2.4. RIV Simplifying Assumptions 2.4. RIV Simplifying Assumptions
This document makes the following simplifying assumptions to reduce This document makes the following simplifying assumptions to reduce
complexity: complexity:
* The product to be attested MUST be shipped by the equipment vendor * The product to be attested MUST be shipped by the equipment vendor
with both a DevID as specified by IEEE Std 802.1AR and an IAK, with both a DevID as specified by IEEE Std 802.1AR and an IAK,
with certificates in place. The IAK certificate must contain the with certificates in place. The IAK certificate must contain the
same identity information as the DevID (specifically, the same same identity information as the DevID (specifically, the same
skipping to change at line 1182 skipping to change at line 1185
Trustworthiness of RIV attestation depends strongly on the validity Trustworthiness of RIV attestation depends strongly on the validity
of keys used for identity and attestation reports. RIV takes full of keys used for identity and attestation reports. RIV takes full
advantage of TPM capabilities to ensure that evidence can be trusted. advantage of TPM capabilities to ensure that evidence can be trusted.
Two sets of key pairs are relevant to RIV attestation: Two sets of key pairs are relevant to RIV attestation:
* A DevID key pair is used to certify the identity of the device in * A DevID key pair is used to certify the identity of the device in
which the TPM is installed. which the TPM is installed.
* An Attestation Key pair (AK) key is used to certify attestation * An AK key pair is used to certify attestation Evidence (i.e.,
Evidence (called "quotes" in TCG documents), used to provide quotes) and to provide evidence for integrity of the device
evidence for integrity of the software on the device software.
TPM practices usually require that these keys be different to ensure TPM practices usually require that these keys be different to ensure
that a general-purpose signing key cannot be used to spoof an that a general-purpose signing key cannot be used to spoof an
attestation quote. attestation quote.
In each case, the private half of the key is known only to the TPM 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 and cannot be retrieved externally, even by a trusted party. To
ensure that's the case, specification-compliant private/public key ensure that's the case, specification-compliant private/public key
pairs are generated inside the TPM, where they are never exposed and pairs are generated inside the TPM, where they are never exposed and
cannot be extracted (see [PLATFORM-DEVID-TPM-2.0]). cannot be extracted (see [PLATFORM-DEVID-TPM-2.0]).
skipping to change at line 1255 skipping to change at line 1258
Because the contents of the quote are signed inside the TPM, any Because the contents of the quote are signed inside the TPM, any
external modification (including reformatting to a different data external modification (including reformatting to a different data
format) after measurements have been taken will be detected as format) after measurements have been taken will be detected as
tampering. An unbroken chain of trust is essential for ensuring that tampering. An unbroken chain of trust is essential for ensuring that
blocks of code that are taking measurements have been verified before blocks of code that are taking measurements have been verified before
execution (see Figure 1). execution (see Figure 1).
Requiring measurements of the operating software to be signed by a 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 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 operating software (beyond the first measurement in the RTM; see
below). Any changes to the quote, generated and signed by the TPM below). If malicious software makes any changes to a quote in the
itself, made by malicious device software, or in the path back to the device itself, or in the path back to the Verifier, the signature on
Verifier, will invalidate the signature on the quote. the quote will be invalidated.
A critical feature of the YANG model described in [RFC9684] is the A critical feature of the YANG model described in [RFC9684] is the
ability to carry TPM data structures in their TCG-defined format, ability to carry TPM data structures in their TCG-defined format,
without requiring any changes to the structures as they were signed without requiring any changes to the structures as they were signed
and delivered by the TPM. While alternate methods of conveying TPM and delivered by the TPM. While alternate methods of conveying TPM
quotes could compress out redundant information, or add another layer quotes could reduce redundant information, or add another layer of
of signing using external keys, the implementation MUST preserve the signing using external keys, the implementation MUST preserve the TPM
TPM signing so that tampering anywhere in the path between the TPM signing so that tampering anywhere in the path between the TPM itself
itself and the Verifier can be detected. and the Verifier can be detected.
5.2. Prevention of Spoofing and Person-in-the-Middle Attacks 5.2. Prevention of Spoofing and Person-in-the-Middle Attacks
Prevention of spoofing attacks against attestation systems is also Prevention of spoofing attacks against attestation systems is also
important. There are several cases to consider: important. There are several cases to consider:
* The entire device could be spoofed. If the Verifier goes to * The entire device could be spoofed. If the Verifier goes to
appraise a specific Attester, it might be redirected to a appraise a specific Attester, it might be redirected to a
different Attester. different Attester.
skipping to change at line 1715 skipping to change at line 1718
0.20, July 2018, <https://trustedcomputinggroup.org/wp- 0.20, July 2018, <https://trustedcomputinggroup.org/wp-
content/uploads/ content/uploads/
TCG_Roots_of_Trust_Specification_v0p20_PUBLIC_REVIEW.pdf>. TCG_Roots_of_Trust_Specification_v0p20_PUBLIC_REVIEW.pdf>.
[TPM-1.2] Trusted Computing Group, "TPM 1.2 Main Specification", [TPM-1.2] Trusted Computing Group, "TPM 1.2 Main Specification",
Level 2, Version 1.2, Revision 116, March 2011, Level 2, Version 1.2, Revision 116, March 2011,
<https://trustedcomputinggroup.org/resource/tpm-main- <https://trustedcomputinggroup.org/resource/tpm-main-
specification/>. specification/>.
[TPM-2.0] Trusted Computing Group, "Trusted Platform Module [TPM-2.0] Trusted Computing Group, "Trusted Platform Module
Library", Family "2.0", Level 00, Revision 01.59, November Library", Family "2.0", Level 00, Revision 01.83, March
2019, <https://trustedcomputinggroup.org/resource/tpm- 2024, <https://trustedcomputinggroup.org/resource/tpm-
library-specification/>. library-specification/>.
Appendix A. Supporting Materials Appendix A. Supporting Materials
A.1. Using a TPM for Attestation A.1. Using a TPM for Attestation
The TPM and surrounding ecosystem provide three interlocking The TPM and surrounding ecosystem provide three interlocking
capabilities to enable secure collection of evidence from a remote capabilities to enable secure collection of evidence from a remote
device: PCRs, a Quote mechanism, and a standardized Event Log. device: PCRs, a Quote mechanism, and a standardized Event Log.
skipping to change at line 1844 skipping to change at line 1847
| | | | | | | | | |
+-----------------------+ | +-------------------------+ +-----------------------+ | +-------------------------+
| |
-------------------- -------------------- -------------------- --------------------
| | | |
------------------------------- --------------------------------- ------------------------------- ---------------------------------
| Reference Values | | Attestation | | Reference Values | | Attestation |
------------------------------- --------------------------------- ------------------------------- ---------------------------------
******************************************************************** ********************************************************************
* IETF Attestation Reference Interaction Diagram * * IETF Remote Attestation Conceptual Data Flow *
* RFC9334, Figure 1 *
******************************************************************** ********************************************************************
......................... ......................... ......................... .........................
. Reference Integrity . . TAP (PTS2.0) Info . . Reference Integrity . . TAP Info .
. Manifest . . Model and Canonical . . Manifest . . Model and Canonical .
. . . Log Format . . . . Log Format .
......................... ......................... ......................... .........................
************************* ************************* ************************* *************************
* YANG SWID Module * * YANG Attestation * * YANG SWID Module * * YANG Attestation *
* RFC9393 * * Module * * RFC9393 * * Module *
* * * RFC9684 * * * * RFC9684 *
* * * * * * * *
************************* ************************* ************************* *************************
skipping to change at line 1951 skipping to change at line 1955
+----------------------------------------+--------------------------+ +----------------------------------------+--------------------------+
| Use PC Client measurement definitions | [PC-CLIENT-BIOS-TPM-2.0] | | Use PC Client measurement definitions | [PC-CLIENT-BIOS-TPM-2.0] |
| to define the use of PCRs (although | | | to define the use of PCRs (although | |
| Windows OS is rare on Networking | | | Windows OS is rare on Networking | |
| Equipment, UEFI BIOS is not). | | | Equipment, UEFI BIOS is not). | |
+----------------------------------------+--------------------------+ +----------------------------------------+--------------------------+
| Use TAP to retrieve measurements: | [RFC9684] | | Use TAP to retrieve measurements: | [RFC9684] |
| | | | | |
| * Map to YANG. | [CEL] | | * Map to YANG. | [CEL] |
| | | | | |
| Use Canonical Log Format. | | | * Use Canonical Log Format. | |
+----------------------------------------+--------------------------+ +----------------------------------------+--------------------------+
| A Posture Collection Server (as | | | A Posture Collection Server (as | |
| described in IETF SACMs ECP) should | | | described in IETF SACMs ECP) should | |
| request the attestation and analyze | | | request the attestation and analyze | |
| the result. The Management | | | the result. The Management | |
| application might be broken down to | | | application might be broken down to | |
| several more components: | | | several more components: | |
| | | | | |
| * A Posture Manager Server that | | | * A Posture Manager Server that | |
| collects reports and stores them | | | collects reports and stores them | |
 End of changes. 14 change blocks. 
42 lines changed or deleted 46 lines changed or added

This html diff was produced by rfcdiff 1.48.