draft-ietf-rats-yang-tpm-charra-13.txt | draft-ietf-rats-yang-tpm-charra-14.txt | |||
---|---|---|---|---|
RATS Working Group H. Birkholz | RATS Working Group H. Birkholz | |||
Internet-Draft M. Eckel | Internet-Draft M. Eckel | |||
Intended status: Standards Track Fraunhofer SIT | Intended status: Standards Track Fraunhofer SIT | |||
Expires: 6 August 2022 S. Bhandari | Expires: 27 August 2022 S. Bhandari | |||
ThoughtSpot | ThoughtSpot | |||
E. Voit | E. Voit | |||
B. Sulzen | B. Sulzen | |||
Cisco | Cisco | |||
L. Xia | L. Xia | |||
Huawei | Huawei | |||
T. Laffey | T. Laffey | |||
HPE | HPE | |||
G. Fedorkow | G. Fedorkow | |||
Juniper | Juniper | |||
2 February 2022 | 23 February 2022 | |||
A YANG Data Model for Challenge-Response-based Remote Attestation | A YANG Data Model for Challenge-Response-based Remote Attestation | |||
Procedures using TPMs | Procedures using TPMs | |||
draft-ietf-rats-yang-tpm-charra-13 | draft-ietf-rats-yang-tpm-charra-14 | |||
Abstract | Abstract | |||
This document defines YANG RPCs and a small number of configuration | This document defines YANG RPCs and a small number of configuration | |||
nodes required to retrieve attestation evidence about integrity | nodes required to retrieve attestation evidence about integrity | |||
measurements from a device, following the operational context defined | measurements from a device, following the operational context defined | |||
in TPM-based Network Device Remote Integrity Verification. | in TPM-based Network Device Remote Integrity Verification. | |||
Complementary measurement logs are also provided by the YANG RPCs, | Complementary measurement logs are also provided by the YANG RPCs, | |||
originating from one or more roots of trust for measurement (RTMs). | originating from one or more roots of trust for measurement (RTMs). | |||
The module defined requires at least one TPM 1.2 or TPM 2.0 as well | The module defined requires at least one TPM 1.2 or TPM 2.0 as well | |||
as a corresponding TPM Software Stack (TSS), included in the device | as a corresponding TPM Software Stack (TSS), or equivalent hardware | |||
components of the composite device the YANG server is running on. | implementations that include the protected capabilities as provided | |||
by TPMs as well as a corresponding software stack, included in the | ||||
device components of the composite device the YANG server is running | ||||
on. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on 6 August 2022. | ||||
This Internet-Draft will expire on 27 August 2022. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
skipping to change at page 2, line 26 ¶ | skipping to change at page 2, line 32 ¶ | |||
extracted from this document must include Revised BSD License text as | extracted from this document must include Revised BSD License text as | |||
described in Section 4.e of the Trust Legal Provisions and are | described in Section 4.e of the Trust Legal Provisions and are | |||
provided without warranty as described in the Revised BSD License. | provided without warranty as described in the Revised BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
1.1. Requirements notation . . . . . . . . . . . . . . . . . . 3 | 1.1. Requirements notation . . . . . . . . . . . . . . . . . . 3 | |||
2. The YANG Module for Basic Remote Attestation Procedures . . . 3 | 2. The YANG Module for Basic Remote Attestation Procedures . . . 3 | |||
2.1. YANG Modules . . . . . . . . . . . . . . . . . . . . . . 3 | 2.1. YANG Modules . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2.1.1. 'ietf-tpm-remote-attestation' . . . . . . . . . . . . 3 | 2.1.1. 'ietf-tpm-remote-attestation' . . . . . . . . . . . . 4 | |||
2.1.2. 'ietf-tcg-algs' . . . . . . . . . . . . . . . . . . . 32 | 2.1.2. 'ietf-tcg-algs' . . . . . . . . . . . . . . . . . . . 33 | |||
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 48 | 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 48 | |||
4. Security Considerations . . . . . . . . . . . . . . . . . . . 49 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 49 | |||
5. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 50 | 5. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 51 | |||
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 51 | 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 52 | |||
6.1. Normative References . . . . . . . . . . . . . . . . . . 51 | 6.1. Normative References . . . . . . . . . . . . . . . . . . 52 | |||
6.2. Informative References . . . . . . . . . . . . . . . . . 57 | 6.2. Informative References . . . . . . . . . . . . . . . . . 57 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 57 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 57 | |||
1. Introduction | 1. Introduction | |||
This document is based on the general terminology defined in the | This document is based on the general terminology defined in the | |||
[I-D.ietf-rats-architecture] and uses the operational context defined | [I-D.ietf-rats-architecture] and uses the operational context defined | |||
in [I-D.ietf-rats-tpm-based-network-device-attest] as well as the | in [I-D.ietf-rats-tpm-based-network-device-attest] as well as the | |||
interaction model and information elements defined in | interaction model and information elements defined in | |||
[I-D.ietf-rats-reference-interaction-models]. The currently | [I-D.ietf-rats-reference-interaction-models]. The currently | |||
skipping to change at page 3, line 49 ¶ | skipping to change at page 4, line 11 ¶ | |||
2.1. YANG Modules | 2.1. YANG Modules | |||
In this section the several YANG modules are defined. | In this section the several YANG modules are defined. | |||
2.1.1. 'ietf-tpm-remote-attestation' | 2.1.1. 'ietf-tpm-remote-attestation' | |||
This YANG module imports modules from [RFC6991], [RFC8348], | This YANG module imports modules from [RFC6991], [RFC8348], | |||
[I-D.ietf-netconf-keystore], and ietf-tcg-algs.yang Section 2.1.2.3. | [I-D.ietf-netconf-keystore], and ietf-tcg-algs.yang Section 2.1.2.3. | |||
Additionally references are made to [RFC8032], [RFC8017], [RFC6933], | Additionally references are made to [RFC8032], [RFC8017], [RFC6933], | |||
[TPM1.2-Commands], [TPM2.0-Arch], [TPM2.0-Structures], [TPM2.0-Key], | [TPM1.2-Commands], [TPM2.0-Arch], [TPM2.0-Structures], [TPM2.0-Key], | |||
[TPM1.2-Structures], [PC-Client-EFI-TPM-1.2], [ima-log], | [TPM1.2-Structures], [bios-log], [ima-log], [BIOS-Log-Event-Type] and | |||
[BIOS-Log-Event-Type] and [netequip-boot-log]. | [netequip-boot-log]. | |||
2.1.1.1. Features | 2.1.1.1. Features | |||
This module supports the following features: | This module supports the following features: | |||
* 'TPMs': Indicates that multiple TPMs on the device can support | * 'TPMs': Indicates that multiple TPMs on the device can support | |||
remote attestation. This feature is applicable in cases where | remote attestation. This feature is applicable in cases where | |||
multiple line cards are present, each with its own TPM. | multiple line cards are present, each with its own TPM. | |||
* 'bios': Indicates that the device supports the retrieval of BIOS/ | * 'bios': Indicates that the device supports the retrieval of BIOS/ | |||
skipping to change at page 5, line 13 ¶ | skipping to change at page 5, line 25 ¶ | |||
+--ro TPM_QUOTE2? binary | +--ro TPM_QUOTE2? binary | |||
2.1.1.3.2. 'tpm20-challenge-response-attestation' | 2.1.1.3.2. 'tpm20-challenge-response-attestation' | |||
This RPC allows a Verifier to request signed TPM PCRs (_TPM Quote_ | This RPC allows a Verifier to request signed TPM PCRs (_TPM Quote_ | |||
operation) from a TPM 2.0 compliant cryptoprocessor. Where the | operation) from a TPM 2.0 compliant cryptoprocessor. Where the | |||
feature 'TPMs' is active, and one or more 'certificate-name' is not | feature 'TPMs' is active, and one or more 'certificate-name' is not | |||
provided, all TPM 2.0 compliant cryptoprocessors will respond. A | provided, all TPM 2.0 compliant cryptoprocessors will respond. A | |||
YANG tree diagram of this RPC is as follows: | YANG tree diagram of this RPC is as follows: | |||
+---x tpm20-challenge-response-attestation {taa:tpm}? | +---x tpm20-challenge-response-attestation {taa:TPM20}? | |||
+---w input | +---w input | |||
| +---w tpm20-attestation-challenge | | +---w tpm20-attestation-challenge | |||
| +---w nonce-value binary | | +---w nonce-value binary | |||
| +---w tpm20-pcr-selection* [] | | +---w tpm20-pcr-selection* [] | |||
| | +---w TPM20-hash-algo? identityref | | | +---w TPM20-hash-algo? identityref | |||
| | +---w pcr-index* tpm:pcr | | | +---w pcr-index* tpm:pcr | |||
| +---w certificate-name* certificate-name-ref {tpm:TPMs}? | | +---w certificate-name* certificate-name-ref {tpm:TPMs}? | |||
+--ro output | +--ro output | |||
+--ro tpm20-attestation-response* [] | +--ro tpm20-attestation-response* [] | |||
+--ro certificate-name certificate-name-ref | +--ro certificate-name certificate-name-ref | |||
skipping to change at page 10, line 4 ¶ | skipping to change at page 10, line 4 ¶ | |||
specific TPM to identify to which 'compute-node' it belongs. | specific TPM to identify to which 'compute-node' it belongs. | |||
+--rw compute-nodes {tpm:TPMs}? | +--rw compute-nodes {tpm:TPMs}? | |||
+--ro compute-node* [node-id] | +--ro compute-node* [node-id] | |||
+--ro node-id string | +--ro node-id string | |||
+--ro node-physical-index? int32 {hw:entity-mib}? | +--ro node-physical-index? int32 {hw:entity-mib}? | |||
+--ro node-name? string | +--ro node-name? string | |||
+--ro node-location? string | +--ro node-location? string | |||
2.1.1.6. YANG Module | 2.1.1.6. YANG Module | |||
<CODE BEGINS> file "ietf-tpm-remote-attestation@2022-11-16.yang" | <CODE BEGINS> file "ietf-tpm-remote-attestation@2022-02-16.yang" | |||
module ietf-tpm-remote-attestation { | module ietf-tpm-remote-attestation { | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-tpm-remote-attestation"; | namespace "urn:ietf:params:xml:ns:yang:ietf-tpm-remote-attestation"; | |||
prefix tpm; | prefix tpm; | |||
import ietf-yang-types { | import ietf-yang-types { | |||
prefix yang; | prefix yang; | |||
reference | ||||
"RFC 6991: Common YANG Data Types."; | ||||
} | } | |||
import ietf-hardware { | import ietf-hardware { | |||
prefix hw; | prefix hw; | |||
reference | ||||
"RFC 8348: A YANG Data Model for Hardware Management."; | ||||
} | } | |||
import ietf-keystore { | import ietf-keystore { | |||
prefix ks; | prefix ks; | |||
reference | ||||
"draft-ietf-netconf-keystore: | ||||
A YANG Data Model for a Keystore."; | ||||
} | } | |||
import ietf-tcg-algs { | import ietf-tcg-algs { | |||
prefix taa; | prefix taa; | |||
reference | ||||
"RFC XXXX: A YANG Data Model for Challenge-Response-based | ||||
Remote Attestation Procedures using TPMs."; | ||||
} | } | |||
organization | organization | |||
"IETF RATS (Remote ATtestation procedureS) Working Group"; | "IETF RATS (Remote ATtestation procedureS) Working Group"; | |||
contact | contact | |||
"WG Web : <https://datatracker.ietf.org/wg/rats/> | "WG Web : <https://datatracker.ietf.org/wg/rats/> | |||
WG List : <mailto:rats@ietf.org> | WG List : <mailto:rats@ietf.org> | |||
Author : Eric Voit <evoit@cisco.com> | Author : Eric Voit <evoit@cisco.com> | |||
Author : Henk Birkholz <henk.birkholz@sit.fraunhofer.de> | Author : Henk Birkholz <henk.birkholz@sit.fraunhofer.de> | |||
Author : Michael Eckel <michael.eckel@sit.fraunhofer.de> | Author : Michael Eckel <michael.eckel@sit.fraunhofer.de> | |||
Author : Shwetha Bhandari <shwetha.bhandari@thoughtspot.com> | Author : Shwetha Bhandari <shwetha.bhandari@thoughtspot.com> | |||
Author : Bill Sulzen <bsulzen@cisco.com> | Author : Bill Sulzen <bsulzen@cisco.com> | |||
Author : Liang Xia (Frank) <frank.xialiang@huawei.com> | Author : Liang Xia (Frank) <frank.xialiang@huawei.com> | |||
Author : Tom Laffey <tom.laffey@hpe.com> | Author : Tom Laffey <tom.laffey@hpe.com> | |||
Author : Guy Fedorkow <gfedorkow@juniper.net>"; | Author : Guy Fedorkow <gfedorkow@juniper.net>"; | |||
description | description | |||
"A YANG module to enable a TPM 1.2 and TPM 2.0 based | "A YANG module to enable a TPM 1.2 and TPM 2.0 based | |||
remote attestation procedure using a challenge-response | remote attestation procedure using a challenge-response | |||
interaction model and the TPM 1.2 and TPM 2.0 Quote | interaction model and the TPM 1.2 and TPM 2.0 Quote | |||
primitive operations. | primitive operations. | |||
Copyright (c) 2021 IETF Trust and the persons identified | ||||
Copyright (c) 2022 IETF Trust and the persons identified | ||||
as authors of the code. All rights reserved. | as authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with | Redistribution and use in source and binary forms, with or | |||
or without modification, is permitted pursuant to, and | without modification, is permitted pursuant to, and subject to | |||
subject to the license terms contained in, the Simplified | the license terms contained in, the Simplified BSD License set | |||
BSD License set forth in Section 4.c of the IETF Trust's | forth in Section 4.c of the IETF Trust's Legal Provisions | |||
Legal Provisions Relating to IETF Documents | Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
This version of this YANG module is part of RFC XXXX | This version of this YANG module is part of RFC XXXX | |||
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC | (https://www.rfc-editor.org/info/rfcXXXX); see the RFC | |||
itself for full legal notices. | itself for full legal notices. | |||
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | |||
'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', | NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | |||
'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document | 'MAY', and 'OPTIONAL' in this document are to be interpreted as | |||
are to be interpreted as described in BCP 14 (RFC 2119) | described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | |||
(RFC 8174) when, and only when, they appear in all | they appear in all capitals, as shown here."; | |||
capitals, as shown here."; | ||||
revision 2022-01-27 { | revision 2022-02-16 { | |||
description | description | |||
"Initial version"; | "Initial version"; | |||
reference | reference | |||
"RFC XXXX: A YANG Data Model for Challenge-Response-based Remote | "RFC XXXX: A YANG Data Model for Challenge-Response-based Remote | |||
Attestation Procedures using TPMs"; | Attestation Procedures using TPMs"; | |||
} | } | |||
/*****************/ | /*****************/ | |||
/* Features */ | /* Features */ | |||
/*****************/ | /*****************/ | |||
skipping to change at page 11, line 34 ¶ | skipping to change at page 11, line 44 ¶ | |||
feature tpms { | feature tpms { | |||
description | description | |||
"The device supports the remote attestation of multiple | "The device supports the remote attestation of multiple | |||
TPM based cryptoprocessors."; | TPM based cryptoprocessors."; | |||
} | } | |||
feature bios { | feature bios { | |||
description | description | |||
"The device supports the bios logs."; | "The device supports the bios logs."; | |||
reference | reference | |||
"PC-Client-EFI-TPM-1.2: | "bios-log: | |||
https://trustedcomputinggroup.org/wp-content/uploads/ | https://trustedcomputinggroup.org/wp-content/uploads/ | |||
PC-ClientSpecific_Platform_Profile_for_TPM_2p0_Systems_v51.pdf | PC-ClientSpecific_Platform_Profile_for_TPM_2p0_Systems_v51.pdf | |||
Section 9.4.5.2"; | Section 9.4.5.2"; | |||
} | } | |||
feature ima { | feature ima { | |||
description | description | |||
"The device supports Integrity Measurement Architecture logs. | "The device supports Integrity Measurement Architecture logs. | |||
Many variants of IMA logs exist in the deployment. Each encodes | Many variants of IMA logs exist in the deployment. Each encodes | |||
the log entry contents as the specific measurements which get | the log entry contents as the specific measurements which get | |||
skipping to change at page 19, line 8 ¶ | skipping to change at page 19, line 19 ¶ | |||
} | } | |||
mandatory true; | mandatory true; | |||
description | description | |||
"The corresponding measurement log type identity."; | "The corresponding measurement log type identity."; | |||
} | } | |||
} | } | |||
grouping boot-event-log { | grouping boot-event-log { | |||
description | description | |||
"Defines a specific instance of an event log entry | "Defines a specific instance of an event log entry | |||
and corresponding to the information used to | and corresponding to the information used to | |||
extended the PCR"; | extend the PCR"; | |||
leaf event-number { | leaf event-number { | |||
type uint32; | type uint32; | |||
description | description | |||
"Unique event number of this event"; | "Unique event number of this event"; | |||
} | } | |||
leaf event-type { | leaf event-type { | |||
type uint32; | type uint32; | |||
description | description | |||
"BIOS Log Event Type: | "BIOS Log Event Type: | |||
https://trustedcomputinggroup.org/wp-content/uploads/ | https://trustedcomputinggroup.org/wp-content/uploads/ | |||
skipping to change at page 32, line 47 ¶ | skipping to change at page 33, line 16 ¶ | |||
This document has encoded the TCG Algorithm definitions of | This document has encoded the TCG Algorithm definitions of | |||
[TCG-Algos], revision 1.32. By including this full table as a | [TCG-Algos], revision 1.32. By including this full table as a | |||
separate YANG file within this document, it is possible for other | separate YANG file within this document, it is possible for other | |||
YANG models to leverage the contents of this model. Specific | YANG models to leverage the contents of this model. Specific | |||
references to [RFC7748], [ISO-IEC-9797-1], [ISO-IEC-9797-2], | references to [RFC7748], [ISO-IEC-9797-1], [ISO-IEC-9797-2], | |||
[ISO-IEC-10116], [ISO-IEC-10118-3], [ISO-IEC-14888-3], | [ISO-IEC-10116], [ISO-IEC-10118-3], [ISO-IEC-14888-3], | |||
[ISO-IEC-15946-1], [ISO-IEC-18033-3], [IEEE-Std-1363-2000], | [ISO-IEC-15946-1], [ISO-IEC-18033-3], [IEEE-Std-1363-2000], | |||
[IEEE-Std-1363a-2004], [NIST-PUB-FIPS-202], [NIST-SP800-38C], | [IEEE-Std-1363a-2004], [NIST-PUB-FIPS-202], [NIST-SP800-38C], | |||
[NIST-SP800-38D], [NIST-SP800-38F], [NIST-SP800-56A], | [NIST-SP800-38D], [NIST-SP800-38F], [NIST-SP800-56A], | |||
[NIST-SP800-108], [PC-Client-EFI-TPM-1.2], [ima-log], and | [NIST-SP800-108], [bios-log], [ima-log], and [netequip-boot-log] | |||
[netequip-boot-log] exist within the YANG Model. | exist within the YANG Model. | |||
2.1.2.1. Features | 2.1.2.1. Features | |||
There are two types of features supported: 'TPM12' and 'TPM20'. | There are two types of features supported: 'TPM12' and 'TPM20'. | |||
Support for either of these features indicates that a cryptoprocessor | Support for either of these features indicates that a cryptoprocessor | |||
supporting the corresponding type of TCG TPM API is present on an | supporting the corresponding type of TCG TPM API is present on an | |||
Attester. Most commonly, only one type of cryptoprocessor will be | Attester. Most commonly, only one type of cryptoprocessor will be | |||
available on an Attester. | available on an Attester. | |||
2.1.2.2. Identities | 2.1.2.2. Identities | |||
skipping to change at page 33, line 33 ¶ | skipping to change at page 34, line 4 ¶ | |||
2. API specifications for TPMs: 'tpm12' and 'tpm20' | 2. API specifications for TPMs: 'tpm12' and 'tpm20' | |||
3. Specific algorithm types: Each algorithm type defines what | 3. Specific algorithm types: Each algorithm type defines what | |||
cryptographic functions may be supported, and on which type of | cryptographic functions may be supported, and on which type of | |||
API specification. It is not required that an implementation of | API specification. It is not required that an implementation of | |||
a specific TPM will support all algorithm types. The contents of | a specific TPM will support all algorithm types. The contents of | |||
each specific algorithm mirrors what is in Table 3 of | each specific algorithm mirrors what is in Table 3 of | |||
[TCG-Algos]. | [TCG-Algos]. | |||
2.1.2.3. YANG Module | 2.1.2.3. YANG Module | |||
<CODE BEGINS> file "ietf-tcg-algs@2022-02-16.yang" | ||||
<CODE BEGINS> file "ietf-tcg-algs@2022-01-27.yang" | ||||
module ietf-tcg-algs { | module ietf-tcg-algs { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-tcg-algs"; | namespace "urn:ietf:params:xml:ns:yang:ietf-tcg-algs"; | |||
prefix taa; | prefix taa; | |||
organization | organization | |||
"IETF RATS Working Group"; | "IETF RATS Working Group"; | |||
contact | contact | |||
"WG Web: <https://datatracker.ietf.org/wg/rats/> | "WG Web: <https://datatracker.ietf.org/wg/rats/> | |||
WG List: <mailto:rats@ietf.org> | WG List: <mailto:rats@ietf.org> | |||
Author: Eric Voit <mailto:evoit@cisco.com>"; | Author: Eric Voit <mailto:evoit@cisco.com>"; | |||
description | description | |||
"This module defines a identities for asymmetric algorithms. | "This module defines a identities for asymmetric algorithms. | |||
Copyright (c) 2021 IETF Trust and the persons identified | Copyright (c) 2022 IETF Trust and the persons identified | |||
as authors of the code. All rights reserved. | as authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with | Redistribution and use in source and binary forms, with | |||
or without modification, is permitted pursuant to, and | or without modification, is permitted pursuant to, and | |||
subject to the license terms contained in, the Simplified | subject to the license terms contained in, the Simplified | |||
BSD License set forth in Section 4.c of the IETF Trust's | BSD License set forth in Section 4.c of the IETF Trust's | |||
Legal Provisions Relating to IETF Documents | Legal Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
This version of this YANG module is part of RFC XXXX | This version of this YANG module is part of RFC XXXX | |||
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC | (https://www.rfc-editor.org/info/rfcXXXX); see the RFC | |||
itself for full legal notices. | itself for full legal notices. | |||
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | |||
skipping to change at page 34, line 21 ¶ | skipping to change at page 34, line 39 ¶ | |||
This version of this YANG module is part of RFC XXXX | This version of this YANG module is part of RFC XXXX | |||
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC | (https://www.rfc-editor.org/info/rfcXXXX); see the RFC | |||
itself for full legal notices. | itself for full legal notices. | |||
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | |||
'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', | 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', | |||
'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document | 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document | |||
are to be interpreted as described in BCP 14 (RFC 2119) | are to be interpreted as described in BCP 14 (RFC 2119) | |||
(RFC 8174) when, and only when, they appear in all | (RFC 8174) when, and only when, they appear in all | |||
capitals, as shown here."; | capitals, as shown here."; | |||
revision 2022-01-27 { | revision 2022-02-16 { | |||
description | description | |||
"Initial version"; | "Initial version"; | |||
reference | reference | |||
"RFC XXXX: A YANG Data Model for Challenge-Response-based Remote | "RFC XXXX: A YANG Data Model for Challenge-Response-based Remote | |||
Attestation Procedures using TPMs"; | Attestation Procedures using TPMs"; | |||
} | } | |||
/*****************/ | /*****************/ | |||
/* Features */ | /* Features */ | |||
/*****************/ | /*****************/ | |||
feature tpm12 { | feature tpm12 { | |||
description | description | |||
"This feature indicates algorithm support for the TPM 1.2 API | "This feature indicates algorithm support for the TPM 1.2 API | |||
as per Section 4.8 of TPM1.2-Structures: | as per Section 4.8 of TPM1.2-Structures: | |||
TPM Main Part 2 TPM Structures | TPM Main Part 2 TPM Structures | |||
https://trustedcomputinggroup.org/wp-content/uploads/ | https://trustedcomputinggroup.org/wp-content/uploads/TPM- | |||
TPM-main-1.2-Rev94-part-2.pdf"; | Main-Part-2-TPM-Structures_v1.2_rev116_01032011.pdf"; | |||
} | } | |||
feature tpm20 { | feature tpm20 { | |||
description | description | |||
"This feature indicates algorithm support for the TPM 2.0 API | "This feature indicates algorithm support for the TPM 2.0 API | |||
as per Section 11.4 of Trusted Platform Module Library | as per Section 11.4 of Trusted Platform Module Library | |||
Part 1: Architecture. See TPM2.0-Arch: | Part 1: Architecture. See TPM2.0-Arch: | |||
https://trustedcomputinggroup.org/wp-content/uploads/ | https://trustedcomputinggroup.org/wp-content/uploads/ | |||
TPM-Rev-2.0-Part-1-Architecture-01.07-2014-03-13.pdf"; | TPM-Rev-2.0-Part-1-Architecture-01.07-2014-03-13.pdf"; | |||
} | } | |||
skipping to change at page 48, line 25 ¶ | skipping to change at page 48, line 45 ¶ | |||
<CODE ENDS> | <CODE ENDS> | |||
Note that not all cryptographic functions are required for use by | Note that not all cryptographic functions are required for use by | |||
ietf-tpm-remote-attestation.yang. However the full definition of | ietf-tpm-remote-attestation.yang. However the full definition of | |||
Table 3 of [TCG-Algos] will allow use by additional YANG | Table 3 of [TCG-Algos] will allow use by additional YANG | |||
specifications. | specifications. | |||
3. IANA Considerations | 3. IANA Considerations | |||
This document registers the following namespace URIs in the | This document registers the following namespace URIs in the | |||
[IANA.xml-registry] as per [RFC3688]: | [xml-registry] as per [RFC3688]: | |||
URI: urn:ietf:params:xml:ns:yang:ietf-tpm-remote-attestation | URI: urn:ietf:params:xml:ns:yang:ietf-tpm-remote-attestation | |||
Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
XML: N/A; the requested URI is an XML namespace. | XML: N/A; the requested URI is an XML namespace. | |||
URI: urn:ietf:params:xml:ns:yang:ietf-tcg-algs | URI: urn:ietf:params:xml:ns:yang:ietf-tcg-algs | |||
Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
XML: N/A; the requested URI is an XML namespace. | XML: N/A; the requested URI is an XML namespace. | |||
This document registers the following YANG modules in the registry | This document registers the following YANG modules in the registry | |||
[IANA.yang-parameters] as per Section 14 of [RFC6020]: | [yang-parameters] as per Section 14 of [RFC6020]: | |||
Name: ietf-tpm-remote-attestation | Name: ietf-tpm-remote-attestation | |||
Namespace: urn:ietf:params:xml:ns:yang:ietf-tpm-remote- | Namespace: urn:ietf:params:xml:ns:yang:ietf-tpm-remote- | |||
attestation | attestation | |||
Prefix: tpm | Prefix: tpm | |||
Reference: draft-ietf-rats-yang-tpm-charra (RFC form) | Reference: draft-ietf-rats-yang-tpm-charra (RFC form) | |||
skipping to change at page 52, line 5 ¶ | skipping to change at page 52, line 29 ¶ | |||
name to map it back to hardware inventory | name to map it back to hardware inventory | |||
* Relabeled name to tpm_name | * Relabeled name to tpm_name | |||
* Removed event-string in last-entry | * Removed event-string in last-entry | |||
6. References | 6. References | |||
6.1. Normative References | 6.1. Normative References | |||
[bios-log] "TCG PC Client Platform Firmware Profile Specification, | ||||
Section 9.4.5.2", n.d., | ||||
<https://trustedcomputinggroup.org/wp-content/uploads/PC-C | ||||
lientSpecific_Platform_Profile_for_TPM_2p0_Systems_v51.pdf | ||||
>. | ||||
[BIOS-Log-Event-Type] | [BIOS-Log-Event-Type] | |||
"TCG PC Client Platform Firmware Profile Specification", | "TCG PC Client Platform Firmware Profile Specification", | |||
n.d., <https://trustedcomputinggroup.org/wp- | n.d., <https://trustedcomputinggroup.org/wp- | |||
content/uploads/TCG_PCClient_PFP_r1p05_v23_pub.pdf>. | content/uploads/TCG_PCClient_PFP_r1p05_v23_pub.pdf>. | |||
[I-D.ietf-netconf-keystore] | [I-D.ietf-netconf-keystore] | |||
Watsen, K., "A YANG Data Model for a Keystore", Work in | Watsen, K., "A YANG Data Model for a Keystore", Work in | |||
Progress, Internet-Draft, draft-ietf-netconf-keystore-23, | Progress, Internet-Draft, draft-ietf-netconf-keystore-23, | |||
14 December 2021, <https://www.ietf.org/archive/id/draft- | 14 December 2021, <https://www.ietf.org/archive/id/draft- | |||
ietf-netconf-keystore-23.txt>. | ietf-netconf-keystore-23.txt>. | |||
[I-D.ietf-rats-architecture] | [I-D.ietf-rats-architecture] | |||
Birkholz, H., Thaler, D., Richardson, M., Smith, N., and | Birkholz, H., Thaler, D., Richardson, M., Smith, N., and | |||
W. Pan, "Remote Attestation Procedures Architecture", Work | W. Pan, "Remote Attestation Procedures Architecture", Work | |||
in Progress, Internet-Draft, draft-ietf-rats-architecture- | in Progress, Internet-Draft, draft-ietf-rats-architecture- | |||
14, 9 December 2021, <https://www.ietf.org/archive/id/ | 15, 8 February 2022, <https://www.ietf.org/archive/id/ | |||
draft-ietf-rats-architecture-14.txt>. | draft-ietf-rats-architecture-15.txt>. | |||
[I-D.ietf-rats-tpm-based-network-device-attest] | [I-D.ietf-rats-tpm-based-network-device-attest] | |||
Fedorkow, G., Voit, E., and J. Fitzgerald-McKay, "TPM- | Fedorkow, G., Voit, E., and J. Fitzgerald-McKay, "TPM- | |||
based Network Device Remote Integrity Verification", Work | based Network Device Remote Integrity Verification", Work | |||
in Progress, Internet-Draft, draft-ietf-rats-tpm-based- | in Progress, Internet-Draft, draft-ietf-rats-tpm-based- | |||
network-device-attest-11, 29 January 2022, | network-device-attest-12, 23 February 2022, | |||
<https://www.ietf.org/archive/id/draft-ietf-rats-tpm- | <https://www.ietf.org/archive/id/draft-ietf-rats-tpm- | |||
based-network-device-attest-11.txt>. | based-network-device-attest-12.txt>. | |||
[IANA.xml-registry] | ||||
IANA, "IETF XML Registry", | ||||
<http://www.iana.org/assignments/xml-registry>. | ||||
[IANA.yang-parameters] | ||||
IANA, "YANG Parameters", | ||||
<http://www.iana.org/assignments/yang-parameters>. | ||||
[IEEE-Std-1363-2000] | [IEEE-Std-1363-2000] | |||
"IEEE 1363-2000 - IEEE Standard Specifications for Public- | "IEEE 1363-2000 - IEEE Standard Specifications for Public- | |||
Key Cryptography", n.d., | Key Cryptography", n.d., | |||
<https://standards.ieee.org/standard/1363-2000.html>. | <https://standards.ieee.org/standard/1363-2000.html>. | |||
[IEEE-Std-1363a-2004] | [IEEE-Std-1363a-2004] | |||
"1363a-2004 - IEEE Standard Specifications for Public-Key | "1363a-2004 - IEEE Standard Specifications for Public-Key | |||
Cryptography - Amendment 1: Additional Techniques", n.d., | Cryptography - Amendment 1: Additional Techniques", n.d., | |||
<https://ieeexplore.ieee.org/document/1335427>. | <https://ieeexplore.ieee.org/document/1335427>. | |||
skipping to change at page 54, line 29 ¶ | skipping to change at page 55, line 5 ¶ | |||
Methods for Key Wrapping", n.d., | Methods for Key Wrapping", n.d., | |||
<https://csrc.nist.gov/publications/detail/sp/800-38f/ | <https://csrc.nist.gov/publications/detail/sp/800-38f/ | |||
final>. | final>. | |||
[NIST-SP800-56A] | [NIST-SP800-56A] | |||
"Recommendation for Pair-Wise Key-Establishment Schemes | "Recommendation for Pair-Wise Key-Establishment Schemes | |||
Using Discrete Logarithm Cryptography", n.d., | Using Discrete Logarithm Cryptography", n.d., | |||
<https://csrc.nist.gov/publications/detail/sp/800-56a/rev- | <https://csrc.nist.gov/publications/detail/sp/800-56a/rev- | |||
3/final>. | 3/final>. | |||
[PC-Client-EFI-TPM-1.2] | [RFC2014] Weinrib, A. and J. Postel, "IRTF Research Group Guidelines | |||
Trusted Computing Group, "TCG EFI Platform Specification | and Procedures", BCP 8, RFC 2014, DOI 10.17487/RFC2014, | |||
for TPM Family 1.1 or 1.2, Specification Version 1.22, | October 1996, <https://www.rfc-editor.org/info/rfc2014>. | |||
Revision 15", 1 January 2014, | ||||
<https://trustedcomputinggroup.org/resource/tcg-efi- | ||||
platform-specification/>. | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
<https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
skipping to change at page 57, line 5 ¶ | skipping to change at page 57, line 25 ¶ | |||
[TPM2.0-Key] | [TPM2.0-Key] | |||
TCG, ., "TPM 2.0 Keys for Device Identity and Attestation, | TCG, ., "TPM 2.0 Keys for Device Identity and Attestation, | |||
Rev10", 14 April 2021, <https://trustedcomputinggroup.org/ | Rev10", 14 April 2021, <https://trustedcomputinggroup.org/ | |||
wp-content/uploads/TCG_IWG_DevID_v1r2_02dec2020.pdf>. | wp-content/uploads/TCG_IWG_DevID_v1r2_02dec2020.pdf>. | |||
[TPM2.0-Structures] | [TPM2.0-Structures] | |||
"Trusted Platform Module Library - Part 2: Structures", | "Trusted Platform Module Library - Part 2: Structures", | |||
n.d., <https://trustedcomputinggroup.org/wp- | n.d., <https://trustedcomputinggroup.org/wp- | |||
content/uploads/TPM-Rev-2.0-Part-2-Structures-01.38.pdf>. | content/uploads/TPM-Rev-2.0-Part-2-Structures-01.38.pdf>. | |||
6.2. Informative References | [xml-registry] | |||
"IETF XML Registry", n.d., | ||||
<https://www.iana.org/assignments/xml-registry/xml- | ||||
registry.xhtml>. | ||||
[bios-log] "TCG PC Client Platform Firmware Profile Specification, | [yang-parameters] | |||
Section 9.4.5.2", n.d., | "YANG Parameters", n.d., | |||
<https://trustedcomputinggroup.org/wp-content/uploads/PC-C | <https://www.iana.org/assignments/yang-parameters/yang- | |||
lientSpecific_Platform_Profile_for_TPM_2p0_Systems_v51.pdf | parameters.xhtml>. | |||
>. | ||||
6.2. Informative References | ||||
[I-D.ietf-rats-reference-interaction-models] | [I-D.ietf-rats-reference-interaction-models] | |||
Birkholz, H., Eckel, M., Pan, W., and E. Voit, "Reference | Birkholz, H., Eckel, M., Pan, W., and E. Voit, "Reference | |||
Interaction Models for Remote Attestation Procedures", | Interaction Models for Remote Attestation Procedures", | |||
Work in Progress, Internet-Draft, draft-ietf-rats- | Work in Progress, Internet-Draft, draft-ietf-rats- | |||
reference-interaction-models-05, 26 January 2022, | reference-interaction-models-05, 26 January 2022, | |||
<https://www.ietf.org/archive/id/draft-ietf-rats- | <https://www.ietf.org/archive/id/draft-ietf-rats- | |||
reference-interaction-models-05.txt>. | reference-interaction-models-05.txt>. | |||
[NIST-915121] | [NIST-915121] | |||
End of changes. 36 change blocks. | ||||
65 lines changed or deleted | 77 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |