--- 1/draft-ietf-rats-yang-tpm-charra-13.txt 2022-02-23 13:13:10.566599113 -0800 +++ 2/draft-ietf-rats-yang-tpm-charra-14.txt 2022-02-23 13:13:10.670601708 -0800 @@ -1,58 +1,62 @@ RATS Working Group H. Birkholz Internet-Draft M. Eckel Intended status: Standards Track Fraunhofer SIT -Expires: 6 August 2022 S. Bhandari +Expires: 27 August 2022 S. Bhandari ThoughtSpot E. Voit B. Sulzen Cisco L. Xia Huawei T. Laffey HPE G. Fedorkow Juniper - 2 February 2022 + 23 February 2022 A YANG Data Model for Challenge-Response-based Remote Attestation Procedures using TPMs - draft-ietf-rats-yang-tpm-charra-13 + draft-ietf-rats-yang-tpm-charra-14 Abstract This document defines YANG RPCs and a small number of configuration nodes 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 RPCs, 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 - as a corresponding TPM Software Stack (TSS), included in the device - components of the composite device the YANG server is running on. + as a corresponding TPM Software Stack (TSS), or equivalent hardware + 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 This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference 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 (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights @@ -60,27 +64,27 @@ extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Requirements notation . . . . . . . . . . . . . . . . . . 3 2. The YANG Module for Basic Remote Attestation Procedures . . . 3 2.1. YANG Modules . . . . . . . . . . . . . . . . . . . . . . 3 - 2.1.1. 'ietf-tpm-remote-attestation' . . . . . . . . . . . . 3 - 2.1.2. 'ietf-tcg-algs' . . . . . . . . . . . . . . . . . . . 32 + 2.1.1. 'ietf-tpm-remote-attestation' . . . . . . . . . . . . 4 + 2.1.2. 'ietf-tcg-algs' . . . . . . . . . . . . . . . . . . . 33 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 48 4. Security Considerations . . . . . . . . . . . . . . . . . . . 49 - 5. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 50 - 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 51 - 6.1. Normative References . . . . . . . . . . . . . . . . . . 51 + 5. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 51 + 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 52 + 6.1. Normative References . . . . . . . . . . . . . . . . . . 52 6.2. Informative References . . . . . . . . . . . . . . . . . 57 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 57 1. Introduction This document is based on the general terminology defined in the [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 interaction model and information elements defined in [I-D.ietf-rats-reference-interaction-models]. The currently @@ -131,22 +135,22 @@ 2.1. YANG Modules In this section the several YANG modules are defined. 2.1.1. 'ietf-tpm-remote-attestation' This YANG module imports modules from [RFC6991], [RFC8348], [I-D.ietf-netconf-keystore], and ietf-tcg-algs.yang Section 2.1.2.3. Additionally references are made to [RFC8032], [RFC8017], [RFC6933], [TPM1.2-Commands], [TPM2.0-Arch], [TPM2.0-Structures], [TPM2.0-Key], - [TPM1.2-Structures], [PC-Client-EFI-TPM-1.2], [ima-log], - [BIOS-Log-Event-Type] and [netequip-boot-log]. + [TPM1.2-Structures], [bios-log], [ima-log], [BIOS-Log-Event-Type] and + [netequip-boot-log]. 2.1.1.1. Features This module supports the following features: * 'TPMs': Indicates that multiple TPMs on the device can support remote attestation. This feature is applicable in cases where multiple line cards are present, each with its own TPM. * 'bios': Indicates that the device supports the retrieval of BIOS/ @@ -190,21 +194,21 @@ +--ro TPM_QUOTE2? binary 2.1.1.3.2. 'tpm20-challenge-response-attestation' This RPC allows a Verifier to request signed TPM PCRs (_TPM Quote_ operation) from a TPM 2.0 compliant cryptoprocessor. Where the feature 'TPMs' is active, and one or more 'certificate-name' is not provided, all TPM 2.0 compliant cryptoprocessors will respond. A 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 tpm20-attestation-challenge | +---w nonce-value binary | +---w tpm20-pcr-selection* [] | | +---w TPM20-hash-algo? identityref | | +---w pcr-index* tpm:pcr | +---w certificate-name* certificate-name-ref {tpm:TPMs}? +--ro output +--ro tpm20-attestation-response* [] +--ro certificate-name certificate-name-ref @@ -388,76 +392,87 @@ specific TPM to identify to which 'compute-node' it belongs. +--rw compute-nodes {tpm:TPMs}? +--ro compute-node* [node-id] +--ro node-id string +--ro node-physical-index? int32 {hw:entity-mib}? +--ro node-name? string +--ro node-location? string 2.1.1.6. YANG Module - file "ietf-tpm-remote-attestation@2022-11-16.yang" + file "ietf-tpm-remote-attestation@2022-02-16.yang" module ietf-tpm-remote-attestation { namespace "urn:ietf:params:xml:ns:yang:ietf-tpm-remote-attestation"; prefix tpm; import ietf-yang-types { prefix yang; + reference + "RFC 6991: Common YANG Data Types."; } import ietf-hardware { prefix hw; + reference + "RFC 8348: A YANG Data Model for Hardware Management."; } import ietf-keystore { prefix ks; + reference + "draft-ietf-netconf-keystore: + A YANG Data Model for a Keystore."; } import ietf-tcg-algs { prefix taa; + reference + "RFC XXXX: A YANG Data Model for Challenge-Response-based + Remote Attestation Procedures using TPMs."; } organization "IETF RATS (Remote ATtestation procedureS) Working Group"; contact "WG Web : WG List : Author : Eric Voit Author : Henk Birkholz Author : Michael Eckel Author : Shwetha Bhandari Author : Bill Sulzen Author : Liang Xia (Frank) Author : Tom Laffey Author : Guy Fedorkow "; description "A YANG module to enable a TPM 1.2 and TPM 2.0 based remote attestation procedure using a challenge-response interaction model and the TPM 1.2 and TPM 2.0 Quote 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. - Redistribution and use in source and binary forms, with - or without modification, is permitted pursuant to, and - subject to the license terms contained in, the Simplified - BSD License set forth in Section 4.c of the IETF Trust's - Legal Provisions Relating to IETF Documents + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject to + the license terms contained in, the Simplified BSD License set + forth in Section 4.c of the IETF Trust's Legal Provisions + Relating to IETF Documents (https://trustee.ietf.org/license-info). + This version of this YANG module is part of RFC XXXX (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself for full legal notices. - The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', - 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', - 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document - are to be interpreted as described in BCP 14 (RFC 2119) - (RFC 8174) when, and only when, they appear in all - capitals, as shown here."; + The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL + NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', + 'MAY', and 'OPTIONAL' in this document are to be interpreted as + described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, + they appear in all capitals, as shown here."; - revision 2022-01-27 { + revision 2022-02-16 { description "Initial version"; reference "RFC XXXX: A YANG Data Model for Challenge-Response-based Remote Attestation Procedures using TPMs"; } /*****************/ /* Features */ /*****************/ @@ -465,21 +480,21 @@ feature tpms { description "The device supports the remote attestation of multiple TPM based cryptoprocessors."; } feature bios { description "The device supports the bios logs."; reference - "PC-Client-EFI-TPM-1.2: + "bios-log: https://trustedcomputinggroup.org/wp-content/uploads/ PC-ClientSpecific_Platform_Profile_for_TPM_2p0_Systems_v51.pdf Section 9.4.5.2"; } feature ima { description "The device supports Integrity Measurement Architecture logs. Many variants of IMA logs exist in the deployment. Each encodes the log entry contents as the specific measurements which get @@ -824,21 +838,21 @@ } mandatory true; description "The corresponding measurement log type identity."; } } grouping boot-event-log { description "Defines a specific instance of an event log entry and corresponding to the information used to - extended the PCR"; + extend the PCR"; leaf event-number { type uint32; description "Unique event number of this event"; } leaf event-type { type uint32; description "BIOS Log Event Type: https://trustedcomputinggroup.org/wp-content/uploads/ @@ -1490,22 +1504,22 @@ This document has encoded the TCG Algorithm definitions of [TCG-Algos], revision 1.32. By including this full table as a separate YANG file within this document, it is possible for other YANG models to leverage the contents of this model. Specific references to [RFC7748], [ISO-IEC-9797-1], [ISO-IEC-9797-2], [ISO-IEC-10116], [ISO-IEC-10118-3], [ISO-IEC-14888-3], [ISO-IEC-15946-1], [ISO-IEC-18033-3], [IEEE-Std-1363-2000], [IEEE-Std-1363a-2004], [NIST-PUB-FIPS-202], [NIST-SP800-38C], [NIST-SP800-38D], [NIST-SP800-38F], [NIST-SP800-56A], - [NIST-SP800-108], [PC-Client-EFI-TPM-1.2], [ima-log], and - [netequip-boot-log] exist within the YANG Model. + [NIST-SP800-108], [bios-log], [ima-log], and [netequip-boot-log] + exist within the YANG Model. 2.1.2.1. Features There are two types of features supported: 'TPM12' and 'TPM20'. Support for either of these features indicates that a cryptoprocessor supporting the corresponding type of TCG TPM API is present on an Attester. Most commonly, only one type of cryptoprocessor will be available on an Attester. 2.1.2.2. Identities @@ -1521,41 +1535,39 @@ 2. API specifications for TPMs: 'tpm12' and 'tpm20' 3. Specific algorithm types: Each algorithm type defines what cryptographic functions may be supported, and on which type of API specification. It is not required that an implementation of a specific TPM will support all algorithm types. The contents of each specific algorithm mirrors what is in Table 3 of [TCG-Algos]. 2.1.2.3. YANG Module - - file "ietf-tcg-algs@2022-01-27.yang" + file "ietf-tcg-algs@2022-02-16.yang" module ietf-tcg-algs { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-tcg-algs"; prefix taa; organization "IETF RATS Working Group"; contact "WG Web: WG List: Author: Eric Voit "; description "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. - Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info). This version of this YANG module is part of RFC XXXX (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself for full legal notices. The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', @@ -1558,39 +1570,39 @@ This version of this YANG module is part of RFC XXXX (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself for full legal notices. The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document are to be interpreted as described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, they appear in all capitals, as shown here."; - revision 2022-01-27 { + revision 2022-02-16 { description "Initial version"; reference "RFC XXXX: A YANG Data Model for Challenge-Response-based Remote Attestation Procedures using TPMs"; } /*****************/ /* Features */ /*****************/ feature tpm12 { description "This feature indicates algorithm support for the TPM 1.2 API as per Section 4.8 of TPM1.2-Structures: TPM Main Part 2 TPM Structures - https://trustedcomputinggroup.org/wp-content/uploads/ - TPM-main-1.2-Rev94-part-2.pdf"; + https://trustedcomputinggroup.org/wp-content/uploads/TPM- + Main-Part-2-TPM-Structures_v1.2_rev116_01032011.pdf"; } feature tpm20 { description "This feature indicates algorithm support for the TPM 2.0 API as per Section 11.4 of Trusted Platform Module Library Part 1: Architecture. See TPM2.0-Arch: https://trustedcomputinggroup.org/wp-content/uploads/ TPM-Rev-2.0-Part-1-Architecture-01.07-2014-03-13.pdf"; } @@ -2234,36 +2250,36 @@ Note that not all cryptographic functions are required for use by ietf-tpm-remote-attestation.yang. However the full definition of Table 3 of [TCG-Algos] will allow use by additional YANG specifications. 3. IANA Considerations 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 Registrant Contact: The IESG. XML: N/A; the requested URI is an XML namespace. URI: urn:ietf:params:xml:ns:yang:ietf-tcg-algs Registrant Contact: The IESG. XML: N/A; the requested URI is an XML namespace. 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 Namespace: urn:ietf:params:xml:ns:yang:ietf-tpm-remote- attestation Prefix: tpm Reference: draft-ietf-rats-yang-tpm-charra (RFC form) @@ -2405,53 +2421,51 @@ name to map it back to hardware inventory * Relabeled name to tpm_name * Removed event-string in last-entry 6. References 6.1. Normative References + [bios-log] "TCG PC Client Platform Firmware Profile Specification, + Section 9.4.5.2", n.d., + . + [BIOS-Log-Event-Type] "TCG PC Client Platform Firmware Profile Specification", n.d., . [I-D.ietf-netconf-keystore] Watsen, K., "A YANG Data Model for a Keystore", Work in Progress, Internet-Draft, draft-ietf-netconf-keystore-23, 14 December 2021, . [I-D.ietf-rats-architecture] Birkholz, H., Thaler, D., Richardson, M., Smith, N., and W. Pan, "Remote Attestation Procedures Architecture", Work in Progress, Internet-Draft, draft-ietf-rats-architecture- - 14, 9 December 2021, . + 15, 8 February 2022, . [I-D.ietf-rats-tpm-based-network-device-attest] Fedorkow, G., Voit, E., and J. Fitzgerald-McKay, "TPM- based Network Device Remote Integrity Verification", Work in Progress, Internet-Draft, draft-ietf-rats-tpm-based- - network-device-attest-11, 29 January 2022, + network-device-attest-12, 23 February 2022, . - - [IANA.xml-registry] - IANA, "IETF XML Registry", - . - - [IANA.yang-parameters] - IANA, "YANG Parameters", - . + based-network-device-attest-12.txt>. [IEEE-Std-1363-2000] "IEEE 1363-2000 - IEEE Standard Specifications for Public- Key Cryptography", n.d., . [IEEE-Std-1363a-2004] "1363a-2004 - IEEE Standard Specifications for Public-Key Cryptography - Amendment 1: Additional Techniques", n.d., . @@ -2524,26 +2538,23 @@ Methods for Key Wrapping", n.d., . [NIST-SP800-56A] "Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography", n.d., . - [PC-Client-EFI-TPM-1.2] - Trusted Computing Group, "TCG EFI Platform Specification - for TPM Family 1.1 or 1.2, Specification Version 1.22, - Revision 15", 1 January 2014, - . + [RFC2014] Weinrib, A. and J. Postel, "IRTF Research Group Guidelines + and Procedures", BCP 8, RFC 2014, DOI 10.17487/RFC2014, + October 1996, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, . @@ -2638,27 +2649,31 @@ [TPM2.0-Key] TCG, ., "TPM 2.0 Keys for Device Identity and Attestation, Rev10", 14 April 2021, . [TPM2.0-Structures] "Trusted Platform Module Library - Part 2: Structures", n.d., . -6.2. Informative References + [xml-registry] + "IETF XML Registry", n.d., + . - [bios-log] "TCG PC Client Platform Firmware Profile Specification, - Section 9.4.5.2", n.d., - . + [yang-parameters] + "YANG Parameters", n.d., + . + +6.2. Informative References [I-D.ietf-rats-reference-interaction-models] Birkholz, H., Eckel, M., Pan, W., and E. Voit, "Reference Interaction Models for Remote Attestation Procedures", Work in Progress, Internet-Draft, draft-ietf-rats- reference-interaction-models-05, 26 January 2022, . [NIST-915121]