| < draft-ietf-netconf-tls-client-server-25.txt | draft-ietf-netconf-tls-client-server-26.txt > | |||
|---|---|---|---|---|
| NETCONF Working Group K. Watsen | NETCONF Working Group K. Watsen | |||
| Internet-Draft Watsen Networks | Internet-Draft Watsen Networks | |||
| Intended status: Standards Track 18 June 2021 | Intended status: Standards Track 14 December 2021 | |||
| Expires: 20 December 2021 | Expires: 17 June 2022 | |||
| YANG Groupings for TLS Clients and TLS Servers | YANG Groupings for TLS Clients and TLS Servers | |||
| draft-ietf-netconf-tls-client-server-25 | draft-ietf-netconf-tls-client-server-26 | |||
| Abstract | Abstract | |||
| This document defines three YANG 1.1 modules: the first defines | This document defines three YANG 1.1 modules: the first defines | |||
| features and groupings common to both TLS clients and TLS servers, | features and groupings common to both TLS clients and TLS servers, | |||
| the second defines a grouping for a generic TLS client, and the third | the second defines a grouping for a generic TLS client, and the third | |||
| defines a grouping for a generic TLS server. | defines a grouping for a generic TLS server. | |||
| Editorial Note (To be removed by RFC Editor) | Editorial Note (To be removed by RFC Editor) | |||
| This draft contains placeholder values that need to be replaced with | This draft contains placeholder values that need to be replaced with | |||
| finalized values at the time of publication. This note summarizes | finalized values at the time of publication. This note summarizes | |||
| all of the substitutions that are needed. No other RFC Editor | all of the substitutions that are needed. No other RFC Editor | |||
| instructions are specified elsewhere in this document. | instructions are specified elsewhere in this document. | |||
| Artwork in this document contains shorthand references to drafts in | Artwork in this document contains shorthand references to drafts in | |||
| progress. Please apply the following replacements: | progress. Please apply the following replacements: | |||
| * "AAAA" --> the assigned RFC value for draft-ietf-netconf-crypto- | * AAAA --> the assigned RFC value for draft-ietf-netconf-crypto- | |||
| types | types | |||
| * "BBBB" --> the assigned RFC value for draft-ietf-netconf-trust- | * BBBB --> the assigned RFC value for draft-ietf-netconf-trust- | |||
| anchors | anchors | |||
| * "CCCC" --> the assigned RFC value for draft-ietf-netconf-keystore | * CCCC --> the assigned RFC value for draft-ietf-netconf-keystore | |||
| * "DDDD" --> the assigned RFC value for draft-ietf-netconf-tcp- | * DDDD --> the assigned RFC value for draft-ietf-netconf-tcp-client- | |||
| client-server | server | |||
| * "FFFF" --> the assigned RFC value for this draft | * FFFF --> the assigned RFC value for this draft | |||
| Artwork in this document contains placeholder values for the date of | Artwork in this document contains placeholder values for the date of | |||
| publication of this draft. Please apply the following replacement: | publication of this draft. Please apply the following replacement: | |||
| * "2021-06-18" --> the publication date of this draft | * 2021-12-14 --> the publication date of this draft | |||
| The following Appendix section is to be removed prior to publication: | The following Appendix section is to be removed prior to publication: | |||
| * Appendix B. Change Log | * Appendix B. Change Log | |||
| 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 20 December 2021. | This Internet-Draft will expire on 17 June 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 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 | |||
| and restrictions with respect to this document. Code Components | and restrictions with respect to this document. Code Components | |||
| extracted from this document must include Simplified BSD License text | extracted from this document must include Revised BSD License text as | |||
| 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 Simplified BSD License. | provided without warranty as described in the Revised BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 1.1. Relation to other RFCs . . . . . . . . . . . . . . . . . 4 | 1.1. Relation to other RFCs . . . . . . . . . . . . . . . . . 4 | |||
| 1.2. Specification Language . . . . . . . . . . . . . . . . . 6 | 1.2. Specification Language . . . . . . . . . . . . . . . . . 6 | |||
| 1.3. Adherence to the NMDA . . . . . . . . . . . . . . . . . . 6 | 1.3. Adherence to the NMDA . . . . . . . . . . . . . . . . . . 6 | |||
| 2. The "ietf-tls-common" Module . . . . . . . . . . . . . . . . 6 | 1.4. Conventions . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 2. The "ietf-tls-common" Module . . . . . . . . . . . . . . . . 7 | ||||
| 2.1. Data Model Overview . . . . . . . . . . . . . . . . . . . 7 | 2.1. Data Model Overview . . . . . . . . . . . . . . . . . . . 7 | |||
| 2.2. Example Usage . . . . . . . . . . . . . . . . . . . . . . 9 | 2.2. Example Usage . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 2.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 10 | 2.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 3. The "ietf-tls-client" Module . . . . . . . . . . . . . . . . 14 | 3. The "ietf-tls-client" Module . . . . . . . . . . . . . . . . 14 | |||
| 3.1. Data Model Overview . . . . . . . . . . . . . . . . . . . 15 | 3.1. Data Model Overview . . . . . . . . . . . . . . . . . . . 15 | |||
| 3.2. Example Usage . . . . . . . . . . . . . . . . . . . . . . 17 | 3.2. Example Usage . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 3.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 21 | 3.3. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 4. The "ietf-tls-server" Module . . . . . . . . . . . . . . . . 29 | 4. The "ietf-tls-server" Module . . . . . . . . . . . . . . . . 29 | |||
| 4.1. Data Model Overview . . . . . . . . . . . . . . . . . . . 29 | 4.1. Data Model Overview . . . . . . . . . . . . . . . . . . . 29 | |||
| 4.2. Example Usage . . . . . . . . . . . . . . . . . . . . . . 32 | 4.2. Example Usage . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| skipping to change at page 3, line 49 ¶ | skipping to change at page 3, line 50 ¶ | |||
| B.17. 15 to 16 . . . . . . . . . . . . . . . . . . . . . . . . 135 | B.17. 15 to 16 . . . . . . . . . . . . . . . . . . . . . . . . 135 | |||
| B.18. 16 to 17 . . . . . . . . . . . . . . . . . . . . . . . . 135 | B.18. 16 to 17 . . . . . . . . . . . . . . . . . . . . . . . . 135 | |||
| B.19. 17 to 18 . . . . . . . . . . . . . . . . . . . . . . . . 136 | B.19. 17 to 18 . . . . . . . . . . . . . . . . . . . . . . . . 136 | |||
| B.20. 18 to 19 . . . . . . . . . . . . . . . . . . . . . . . . 136 | B.20. 18 to 19 . . . . . . . . . . . . . . . . . . . . . . . . 136 | |||
| B.21. 19 to 20 . . . . . . . . . . . . . . . . . . . . . . . . 137 | B.21. 19 to 20 . . . . . . . . . . . . . . . . . . . . . . . . 137 | |||
| B.22. 20 to 21 . . . . . . . . . . . . . . . . . . . . . . . . 137 | B.22. 20 to 21 . . . . . . . . . . . . . . . . . . . . . . . . 137 | |||
| B.23. 21 to 22 . . . . . . . . . . . . . . . . . . . . . . . . 137 | B.23. 21 to 22 . . . . . . . . . . . . . . . . . . . . . . . . 137 | |||
| B.24. 22 to 23 . . . . . . . . . . . . . . . . . . . . . . . . 137 | B.24. 22 to 23 . . . . . . . . . . . . . . . . . . . . . . . . 137 | |||
| B.25. 23 to 24 . . . . . . . . . . . . . . . . . . . . . . . . 137 | B.25. 23 to 24 . . . . . . . . . . . . . . . . . . . . . . . . 137 | |||
| B.26. 24 to 25 . . . . . . . . . . . . . . . . . . . . . . . . 138 | B.26. 24 to 25 . . . . . . . . . . . . . . . . . . . . . . . . 138 | |||
| B.27. 25 to 26 . . . . . . . . . . . . . . . . . . . . . . . . 138 | ||||
| Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 138 | Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 138 | |||
| Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 138 | Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 139 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 138 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 139 | |||
| 1. Introduction | 1. Introduction | |||
| This document defines three YANG 1.1 [RFC7950] modules: the first | This document defines three YANG 1.1 [RFC7950] modules: the first | |||
| defines features and groupings common to both TLS clients and TLS | defines features and groupings common to both TLS clients and TLS | |||
| servers, the second defines a grouping for a generic TLS client, and | servers, the second defines a grouping for a generic TLS client, and | |||
| the third defines a grouping for a generic TLS server. | the third defines a grouping for a generic TLS server. | |||
| Any version of TLS may be configured. TLS 1.0 [RFC2246] and TLS 1.1 | Any version of TLS may be configured. TLS 1.0 [RFC2246] and TLS 1.1 | |||
| [RFC4346] are historic and hence the YANG "feature" statements | [RFC4346] are historic and hence the YANG "feature" statements | |||
| skipping to change at page 6, line 45 ¶ | skipping to change at page 6, line 45 ¶ | |||
| capitals, as shown here. | capitals, as shown here. | |||
| 1.3. Adherence to the NMDA | 1.3. Adherence to the NMDA | |||
| This document is compliant with the Network Management Datastore | This document is compliant with the Network Management Datastore | |||
| Architecture (NMDA) [RFC8342]. For instance, as described in | Architecture (NMDA) [RFC8342]. For instance, as described in | |||
| [I-D.ietf-netconf-trust-anchors] and [I-D.ietf-netconf-keystore], | [I-D.ietf-netconf-trust-anchors] and [I-D.ietf-netconf-keystore], | |||
| trust anchors and keys installed during manufacturing are expected to | trust anchors and keys installed during manufacturing are expected to | |||
| appear in <operational>. | appear in <operational>. | |||
| 1.4. Conventions | ||||
| Various examples used in this document use a placeholder value for | ||||
| binary data that has been base64 encoded (e.g., "BASE64VALUE="). | ||||
| This placeholder value is used as real base64 encoded structures are | ||||
| often many lines long and hence distracting to the example being | ||||
| presented. | ||||
| 2. The "ietf-tls-common" Module | 2. The "ietf-tls-common" Module | |||
| The TLS common model presented in this section contains features and | The TLS common model presented in this section contains features and | |||
| groupings common to both TLS clients and TLS servers. The "hello- | groupings common to both TLS clients and TLS servers. The "hello- | |||
| params-grouping" grouping can be used to configure the list of TLS | params-grouping" grouping can be used to configure the list of TLS | |||
| algorithms permitted by the TLS client or TLS server. The lists of | algorithms permitted by the TLS client or TLS server. The lists of | |||
| algorithms are ordered such that, if multiple algorithms are | algorithms are ordered such that, if multiple algorithms are | |||
| permitted by the client, the algorithm that appears first in its list | permitted by the client, the algorithm that appears first in its list | |||
| that is also permitted by the server is used for the TLS transport | that is also permitted by the server is used for the TLS transport | |||
| layer connection. The ability to restrict the algorithms allowed is | layer connection. The ability to restrict the algorithms allowed is | |||
| skipping to change at page 10, line 36 ¶ | skipping to change at page 10, line 36 ¶ | |||
| </hello-params> | </hello-params> | |||
| 2.3. YANG Module | 2.3. YANG Module | |||
| This YANG module has a normative references to [RFC4346], [RFC5288], | This YANG module has a normative references to [RFC4346], [RFC5288], | |||
| [RFC5289], [RFC8422], and FIPS PUB 180-4. | [RFC5289], [RFC8422], and FIPS PUB 180-4. | |||
| This YANG module has a informative references to [RFC2246], | This YANG module has a informative references to [RFC2246], | |||
| [RFC4346], [RFC5246], and [RFC8446]. | [RFC4346], [RFC5246], and [RFC8446]. | |||
| <CODE BEGINS> file "ietf-tls-common@2021-06-18.yang" | <CODE BEGINS> file "ietf-tls-common@2021-12-14.yang" | |||
| module ietf-tls-common { | module ietf-tls-common { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-tls-common"; | namespace "urn:ietf:params:xml:ns:yang:ietf-tls-common"; | |||
| prefix tlscmn; | prefix tlscmn; | |||
| import iana-tls-cipher-suite-algs { | import iana-tls-cipher-suite-algs { | |||
| prefix tlscsa; | prefix tlscsa; | |||
| reference | reference | |||
| "RFC FFFF: YANG Groupings for TLS Clients and SSH Servers"; | "RFC FFFF: YANG Groupings for TLS Clients and SSH Servers"; | |||
| skipping to change at page 11, line 34 ¶ | skipping to change at page 11, line 34 ¶ | |||
| (https://www.rfc-editor.org/info/rfcFFFF); see the RFC | (https://www.rfc-editor.org/info/rfcFFFF); 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 2021-06-18 { | revision 2021-12-14 { | |||
| description | description | |||
| "Initial version"; | "Initial version"; | |||
| reference | reference | |||
| "RFC FFFF: YANG Groupings for TLS Clients and TLS Servers"; | "RFC FFFF: YANG Groupings for TLS Clients and TLS Servers"; | |||
| } | } | |||
| // Features | // Features | |||
| feature tls-1_0 { | feature tls-1_0 { | |||
| status "obsolete"; | status "obsolete"; | |||
| skipping to change at page 18, line 10 ¶ | skipping to change at page 18, line 10 ¶ | |||
| <tls-client | <tls-client | |||
| xmlns="urn:ietf:params:xml:ns:yang:ietf-tls-client" | xmlns="urn:ietf:params:xml:ns:yang:ietf-tls-client" | |||
| xmlns:ct="urn:ietf:params:xml:ns:yang:ietf-crypto-types"> | xmlns:ct="urn:ietf:params:xml:ns:yang:ietf-crypto-types"> | |||
| <!-- how this client will authenticate itself to the server --> | <!-- how this client will authenticate itself to the server --> | |||
| <client-identity> | <client-identity> | |||
| <certificate> | <certificate> | |||
| <local-definition> | <local-definition> | |||
| <public-key-format>ct:subject-public-key-info-format</public\ | <public-key-format>ct:subject-public-key-info-format</public\ | |||
| -key-format> | -key-format> | |||
| <public-key>base64encodedvalue==</public-key> | <public-key>BASE64VALUE=</public-key> | |||
| <private-key-format>ct:rsa-private-key-format</private-key-f\ | <private-key-format>ct:rsa-private-key-format</private-key-f\ | |||
| ormat> | ormat> | |||
| <cleartext-private-key>base64encodedvalue==</cleartext-priva\ | <cleartext-private-key>BASE64VALUE=</cleartext-private-key> | |||
| te-key> | <cert-data>BASE64VALUE=</cert-data> | |||
| <cert-data>base64encodedvalue==</cert-data> | ||||
| </local-definition> | </local-definition> | |||
| </certificate> | </certificate> | |||
| <!-- TESTED, BUT COMMENTED OUT DUE TO ONLY ONE ALLOWED AT A TIME | <!-- TESTED, BUT COMMENTED OUT DUE TO ONLY ONE ALLOWED AT A TIME | |||
| <raw-private-key> | <raw-private-key> | |||
| <local-definition> | <local-definition> | |||
| <public-key-format>ct:subject-public-key-info-format</public\ | <public-key-format>ct:subject-public-key-info-format</public\ | |||
| -key-format> | -key-format> | |||
| <public-key>base64encodedvalue==</public-key> | <public-key>BASE64VALUE=</public-key> | |||
| <private-key-format>ct:rsa-private-key-format</private-key-f\ | <private-key-format>ct:rsa-private-key-format</private-key-f\ | |||
| ormat> | ormat> | |||
| <cleartext-private-key>base64encodedvalue==</cleartext-priva\ | <cleartext-private-key>BASE64VALUE=</cleartext-private-key> | |||
| te-key> | ||||
| </local-definition> | </local-definition> | |||
| </raw-private-key> | </raw-private-key> | |||
| <psk> | <psk> | |||
| <local-definition> | <local-definition> | |||
| <key-format>ct:octet-string-key-format</key-format> | <key-format>ct:octet-string-key-format</key-format> | |||
| <cleartext-key>base64encodedvalue==</cleartext-key> | <cleartext-key>BASE64VALUE=</cleartext-key> | |||
| </local-definition> | </local-definition> | |||
| </psk> | </psk> | |||
| --> | --> | |||
| </client-identity> | </client-identity> | |||
| <!-- which certificates will this client trust --> | <!-- which certificates will this client trust --> | |||
| <server-authentication> | <server-authentication> | |||
| <ca-certs> | <ca-certs> | |||
| <local-definition> | <local-definition> | |||
| <certificate> | <certificate> | |||
| <name>Server Cert Issuer #1</name> | <name>Server Cert Issuer #1</name> | |||
| <cert-data>base64encodedvalue==</cert-data> | <cert-data>BASE64VALUE=</cert-data> | |||
| </certificate> | </certificate> | |||
| <certificate> | <certificate> | |||
| <name>Server Cert Issuer #2</name> | <name>Server Cert Issuer #2</name> | |||
| <cert-data>base64encodedvalue==</cert-data> | <cert-data>BASE64VALUE=</cert-data> | |||
| </certificate> | </certificate> | |||
| </local-definition> | </local-definition> | |||
| </ca-certs> | </ca-certs> | |||
| <ee-certs> | <ee-certs> | |||
| <local-definition> | <local-definition> | |||
| <certificate> | <certificate> | |||
| <name>My Application #1</name> | <name>My Application #1</name> | |||
| <cert-data>base64encodedvalue==</cert-data> | <cert-data>BASE64VALUE=</cert-data> | |||
| </certificate> | </certificate> | |||
| <certificate> | <certificate> | |||
| <name>My Application #2</name> | <name>My Application #2</name> | |||
| <cert-data>base64encodedvalue==</cert-data> | <cert-data>BASE64VALUE=</cert-data> | |||
| </certificate> | </certificate> | |||
| </local-definition> | </local-definition> | |||
| </ee-certs> | </ee-certs> | |||
| <raw-public-keys> | <raw-public-keys> | |||
| <local-definition> | <local-definition> | |||
| <public-key> | <public-key> | |||
| <name>corp-fw1</name> | <name>corp-fw1</name> | |||
| <public-key-format>ct:subject-public-key-info-format</publ\ | <public-key-format>ct:subject-public-key-info-format</publ\ | |||
| ic-key-format> | ic-key-format> | |||
| <public-key>base64encodedvalue==</public-key> | <public-key>BASE64VALUE=</public-key> | |||
| </public-key> | </public-key> | |||
| <public-key> | <public-key> | |||
| <name>corp-fw1</name> | <name>corp-fw1</name> | |||
| <public-key-format>ct:subject-public-key-info-format</publ\ | <public-key-format>ct:subject-public-key-info-format</publ\ | |||
| ic-key-format> | ic-key-format> | |||
| <public-key>base64encodedvalue==</public-key> | <public-key>BASE64VALUE=</public-key> | |||
| </public-key> | </public-key> | |||
| </local-definition> | </local-definition> | |||
| </raw-public-keys> | </raw-public-keys> | |||
| <psks/> | <psks/> | |||
| </server-authentication> | </server-authentication> | |||
| <keepalives> | <keepalives> | |||
| <test-peer-aliveness> | <test-peer-aliveness> | |||
| <max-wait>30</max-wait> | <max-wait>30</max-wait> | |||
| <max-attempts>3</max-attempts> | <max-attempts>3</max-attempts> | |||
| skipping to change at page 21, line 17 ¶ | skipping to change at page 21, line 17 ¶ | |||
| </tls-client> | </tls-client> | |||
| 3.3. YANG Module | 3.3. YANG Module | |||
| This YANG module has normative references to | This YANG module has normative references to | |||
| [I-D.ietf-netconf-trust-anchors] and [I-D.ietf-netconf-keystore], and | [I-D.ietf-netconf-trust-anchors] and [I-D.ietf-netconf-keystore], and | |||
| Informative references to [RFC5246], [RFC8446], | Informative references to [RFC5246], [RFC8446], | |||
| [I-D.ietf-tls-external-psk-importer] and | [I-D.ietf-tls-external-psk-importer] and | |||
| [I-D.ietf-tls-external-psk-guidance]. | [I-D.ietf-tls-external-psk-guidance]. | |||
| <CODE BEGINS> file "ietf-tls-client@2021-06-18.yang" | <CODE BEGINS> file "ietf-tls-client@2021-12-14.yang" | |||
| module ietf-tls-client { | module ietf-tls-client { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-tls-client"; | namespace "urn:ietf:params:xml:ns:yang:ietf-tls-client"; | |||
| prefix tlsc; | prefix tlsc; | |||
| import ietf-netconf-acm { | import ietf-netconf-acm { | |||
| prefix nacm; | prefix nacm; | |||
| reference | reference | |||
| "RFC 8341: Network Configuration Access Control Model"; | "RFC 8341: Network Configuration Access Control Model"; | |||
| skipping to change at page 21, line 50 ¶ | skipping to change at page 21, line 50 ¶ | |||
| } | } | |||
| import ietf-keystore { | import ietf-keystore { | |||
| prefix ks; | prefix ks; | |||
| reference | reference | |||
| "RFC CCCC: A YANG Data Model for a Keystore"; | "RFC CCCC: A YANG Data Model for a Keystore"; | |||
| } | } | |||
| import ietf-tls-common { | import ietf-tls-common { | |||
| prefix tlscmn; | prefix tlscmn; | |||
| revision-date 2021-06-18; // stable grouping definitions | revision-date 2021-12-14; // stable grouping definitions | |||
| reference | reference | |||
| "RFC FFFF: YANG Groupings for TLS Clients and TLS Servers"; | "RFC FFFF: YANG Groupings for TLS Clients and TLS Servers"; | |||
| } | } | |||
| organization | organization | |||
| "IETF NETCONF (Network Configuration) Working Group"; | "IETF NETCONF (Network Configuration) Working Group"; | |||
| contact | contact | |||
| "WG Web: <http://datatracker.ietf.org/wg/netconf/> | "WG Web: <http://datatracker.ietf.org/wg/netconf/> | |||
| skipping to change at page 22, line 41 ¶ | skipping to change at page 22, line 41 ¶ | |||
| (https://www.rfc-editor.org/info/rfcFFFF); see the RFC | (https://www.rfc-editor.org/info/rfcFFFF); 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 2021-06-18 { | revision 2021-12-14 { | |||
| description | description | |||
| "Initial version"; | "Initial version"; | |||
| reference | reference | |||
| "RFC FFFF: YANG Groupings for TLS Clients and TLS Servers"; | "RFC FFFF: YANG Groupings for TLS Clients and TLS Servers"; | |||
| } | } | |||
| // Features | // Features | |||
| feature tls-client-keepalives { | feature tls-client-keepalives { | |||
| description | description | |||
| skipping to change at page 33, line 12 ¶ | skipping to change at page 33, line 12 ¶ | |||
| <tls-server | <tls-server | |||
| xmlns="urn:ietf:params:xml:ns:yang:ietf-tls-server" | xmlns="urn:ietf:params:xml:ns:yang:ietf-tls-server" | |||
| xmlns:ct="urn:ietf:params:xml:ns:yang:ietf-crypto-types"> | xmlns:ct="urn:ietf:params:xml:ns:yang:ietf-crypto-types"> | |||
| <!-- how this server will authenticate itself to the client --> | <!-- how this server will authenticate itself to the client --> | |||
| <server-identity> | <server-identity> | |||
| <certificate> | <certificate> | |||
| <local-definition> | <local-definition> | |||
| <public-key-format>ct:subject-public-key-info-format</public\ | <public-key-format>ct:subject-public-key-info-format</public\ | |||
| -key-format> | -key-format> | |||
| <public-key>base64encodedvalue==</public-key> | <public-key>BASE64VALUE=</public-key> | |||
| <private-key-format>ct:rsa-private-key-format</private-key-f\ | <private-key-format>ct:rsa-private-key-format</private-key-f\ | |||
| ormat> | ormat> | |||
| <cleartext-private-key>base64encodedvalue==</cleartext-priva\ | <cleartext-private-key>BASE64VALUE=</cleartext-private-key> | |||
| te-key> | <cert-data>BASE64VALUE=</cert-data> | |||
| <cert-data>base64encodedvalue==</cert-data> | ||||
| </local-definition> | </local-definition> | |||
| </certificate> | </certificate> | |||
| <!-- TESTED, BUT COMMENTED OUT DUE TO ONLY ONE ALLOWED AT A TIME | <!-- TESTED, BUT COMMENTED OUT DUE TO ONLY ONE ALLOWED AT A TIME | |||
| <raw-private-key> | <raw-private-key> | |||
| <local-definition> | <local-definition> | |||
| <public-key-format>ct:subject-public-key-info-format</public\ | <public-key-format>ct:subject-public-key-info-format</public\ | |||
| -key-format> | -key-format> | |||
| <public-key>base64encodedvalue==</public-key> | <public-key>BASE64VALUE=</public-key> | |||
| <private-key-format>ct:rsa-private-key-format</private-key-f\ | <private-key-format>ct:rsa-private-key-format</private-key-f\ | |||
| ormat> | ormat> | |||
| <cleartext-private-key>base64encodedvalue==</cleartext-priva\ | <cleartext-private-key>BASE64VALUE=</cleartext-private-key> | |||
| te-key> | ||||
| </local-definition> | </local-definition> | |||
| </raw-private-key> | </raw-private-key> | |||
| <psk> | <psk> | |||
| <local-definition> | <local-definition> | |||
| <key-format>ct:octet-string-key-format</key-format> | <key-format>ct:octet-string-key-format</key-format> | |||
| <cleartext-key>base64encodedvalue==</cleartext-key> | <cleartext-key>BASE64VALUE=</cleartext-key> | |||
| </local-definition> | </local-definition> | |||
| </psk> | </psk> | |||
| --> | --> | |||
| </server-identity> | </server-identity> | |||
| <!-- which certificates will this server trust --> | <!-- which certificates will this server trust --> | |||
| <client-authentication> | <client-authentication> | |||
| <ca-certs> | <ca-certs> | |||
| <local-definition> | <local-definition> | |||
| <certificate> | <certificate> | |||
| <name>Identity Cert Issuer #1</name> | <name>Identity Cert Issuer #1</name> | |||
| <cert-data>base64encodedvalue==</cert-data> | <cert-data>BASE64VALUE=</cert-data> | |||
| </certificate> | </certificate> | |||
| <certificate> | <certificate> | |||
| <name>Identity Cert Issuer #2</name> | <name>Identity Cert Issuer #2</name> | |||
| <cert-data>base64encodedvalue==</cert-data> | <cert-data>BASE64VALUE=</cert-data> | |||
| </certificate> | </certificate> | |||
| </local-definition> | </local-definition> | |||
| </ca-certs> | </ca-certs> | |||
| <ee-certs> | <ee-certs> | |||
| <local-definition> | <local-definition> | |||
| <certificate> | <certificate> | |||
| <name>Application #1</name> | <name>Application #1</name> | |||
| <cert-data>base64encodedvalue==</cert-data> | <cert-data>BASE64VALUE=</cert-data> | |||
| </certificate> | </certificate> | |||
| <certificate> | <certificate> | |||
| <name>Application #2</name> | <name>Application #2</name> | |||
| <cert-data>base64encodedvalue==</cert-data> | <cert-data>BASE64VALUE=</cert-data> | |||
| </certificate> | </certificate> | |||
| </local-definition> | </local-definition> | |||
| </ee-certs> | </ee-certs> | |||
| <raw-public-keys> | <raw-public-keys> | |||
| <local-definition> | <local-definition> | |||
| <public-key> | <public-key> | |||
| <name>User A</name> | <name>User A</name> | |||
| <public-key-format>ct:subject-public-key-info-format</publ\ | <public-key-format>ct:subject-public-key-info-format</publ\ | |||
| ic-key-format> | ic-key-format> | |||
| <public-key>base64encodedvalue==</public-key> | <public-key>BASE64VALUE=</public-key> | |||
| </public-key> | </public-key> | |||
| <public-key> | <public-key> | |||
| <name>User B</name> | <name>User B</name> | |||
| <public-key-format>ct:subject-public-key-info-format</publ\ | <public-key-format>ct:subject-public-key-info-format</publ\ | |||
| ic-key-format> | ic-key-format> | |||
| <public-key>base64encodedvalue==</public-key> | <public-key>BASE64VALUE=</public-key> | |||
| </public-key> | </public-key> | |||
| </local-definition> | </local-definition> | |||
| </raw-public-keys> | </raw-public-keys> | |||
| <psks/> | <psks/> | |||
| </client-authentication> | </client-authentication> | |||
| <keepalives> | <keepalives> | |||
| <peer-allowed-to-send/> | <peer-allowed-to-send/> | |||
| </keepalives> | </keepalives> | |||
| skipping to change at page 36, line 13 ¶ | skipping to change at page 36, line 13 ¶ | |||
| </tls-server> | </tls-server> | |||
| 4.3. YANG Module | 4.3. YANG Module | |||
| This YANG module has normative references to | This YANG module has normative references to | |||
| [I-D.ietf-netconf-trust-anchors] and [I-D.ietf-netconf-keystore], and | [I-D.ietf-netconf-trust-anchors] and [I-D.ietf-netconf-keystore], and | |||
| Informative references to [RFC5246], [RFC8446], | Informative references to [RFC5246], [RFC8446], | |||
| [I-D.ietf-tls-external-psk-importer] and | [I-D.ietf-tls-external-psk-importer] and | |||
| [I-D.ietf-tls-external-psk-guidance]. | [I-D.ietf-tls-external-psk-guidance]. | |||
| <CODE BEGINS> file "ietf-tls-server@2021-06-18.yang" | <CODE BEGINS> file "ietf-tls-server@2021-12-14.yang" | |||
| module ietf-tls-server { | module ietf-tls-server { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-tls-server"; | namespace "urn:ietf:params:xml:ns:yang:ietf-tls-server"; | |||
| prefix tlss; | prefix tlss; | |||
| import ietf-netconf-acm { | import ietf-netconf-acm { | |||
| prefix nacm; | prefix nacm; | |||
| reference | reference | |||
| "RFC 8341: Network Configuration Access Control Model"; | "RFC 8341: Network Configuration Access Control Model"; | |||
| skipping to change at page 36, line 46 ¶ | skipping to change at page 36, line 46 ¶ | |||
| } | } | |||
| import ietf-keystore { | import ietf-keystore { | |||
| prefix ks; | prefix ks; | |||
| reference | reference | |||
| "RFC CCCC: A YANG Data Model for a Keystore"; | "RFC CCCC: A YANG Data Model for a Keystore"; | |||
| } | } | |||
| import ietf-tls-common { | import ietf-tls-common { | |||
| prefix tlscmn; | prefix tlscmn; | |||
| revision-date 2021-06-18; // stable grouping definitions | revision-date 2021-12-14; // stable grouping definitions | |||
| reference | reference | |||
| "RFC FFFF: YANG Groupings for TLS Clients and TLS Servers"; | "RFC FFFF: YANG Groupings for TLS Clients and TLS Servers"; | |||
| } | } | |||
| organization | organization | |||
| "IETF NETCONF (Network Configuration) Working Group"; | "IETF NETCONF (Network Configuration) Working Group"; | |||
| contact | contact | |||
| "WG Web: <http://datatracker.ietf.org/wg/netconf/> | "WG Web: <http://datatracker.ietf.org/wg/netconf/> | |||
| WG List: <mailto:netconf@ietf.org> | WG List: <mailto:netconf@ietf.org> | |||
| skipping to change at page 37, line 36 ¶ | skipping to change at page 37, line 36 ¶ | |||
| (https://www.rfc-editor.org/info/rfcFFFF); see the RFC | (https://www.rfc-editor.org/info/rfcFFFF); 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 2021-06-18 { | revision 2021-12-14 { | |||
| description | description | |||
| "Initial version"; | "Initial version"; | |||
| reference | reference | |||
| "RFC FFFF: YANG Groupings for TLS Clients and TLS Servers"; | "RFC FFFF: YANG Groupings for TLS Clients and TLS Servers"; | |||
| } | } | |||
| // Features | // Features | |||
| feature tls-server-keepalives { | feature tls-server-keepalives { | |||
| description | description | |||
| skipping to change at page 46, line 24 ¶ | skipping to change at page 46, line 24 ¶ | |||
| considered sensitive or vulnerable in network environments. The NACM | considered sensitive or vulnerable in network environments. The NACM | |||
| "default-deny-all" extension has not been set for any data nodes | "default-deny-all" extension has not been set for any data nodes | |||
| defined in this module. | defined in this module. | |||
| | Please be aware that this module uses the "key" and "private- | | Please be aware that this module uses the "key" and "private- | |||
| | key" nodes from the "ietf-crypto-types" module | | key" nodes from the "ietf-crypto-types" module | |||
| | [I-D.ietf-netconf-crypto-types], where said nodes have the NACM | | [I-D.ietf-netconf-crypto-types], where said nodes have the NACM | |||
| | extension "default-deny-all" set, thus preventing unrestricted | | extension "default-deny-all" set, thus preventing unrestricted | |||
| | read-access to the cleartext key values. | | read-access to the cleartext key values. | |||
| All of the writable data nodes defined by this module may be | All the writable data nodes defined by this module may be considered | |||
| considered sensitive or vulnerable in some network environments. For | sensitive or vulnerable in some network environments. For instance, | |||
| instance, any modification to a key or reference to a key may | any modification to a key or reference to a key may dramatically | |||
| dramatically alter the implemented security policy. For this reason, | alter the implemented security policy. For this reason, the NACM | |||
| the NACM extension "default-deny-write" has been set for all data | extension "default-deny-write" has been set for all data nodes | |||
| nodes defined in this module. | defined in this module. | |||
| This module does not define any RPCs, actions, or notifications, and | This module does not define any RPCs, actions, or notifications, and | |||
| thus the security consideration for such is not provided here. | thus the security consideration for such is not provided here. | |||
| 5.4. The "ietf-tls-server" YANG Module | 5.4. The "ietf-tls-server" YANG Module | |||
| The "ietf-tls-server" YANG module defines "grouping" statements that | The "ietf-tls-server" YANG module defines "grouping" statements that | |||
| are designed to be accessed via YANG based management protocols, such | are designed to be accessed via YANG based management protocols, such | |||
| as NETCONF [RFC6241] and RESTCONF [RFC8040]. Both of these protocols | as NETCONF [RFC6241] and RESTCONF [RFC8040]. Both of these protocols | |||
| have mandatory-to-implement secure transport layers (e.g., SSH, TLS) | have mandatory-to-implement secure transport layers (e.g., SSH, TLS) | |||
| skipping to change at page 47, line 16 ¶ | skipping to change at page 47, line 16 ¶ | |||
| considered sensitive or vulnerable in network environments. The NACM | considered sensitive or vulnerable in network environments. The NACM | |||
| "default-deny-all" extension has not been set for any data nodes | "default-deny-all" extension has not been set for any data nodes | |||
| defined in this module. | defined in this module. | |||
| | Please be aware that this module uses the "key" and "private- | | Please be aware that this module uses the "key" and "private- | |||
| | key" nodes from the "ietf-crypto-types" module | | key" nodes from the "ietf-crypto-types" module | |||
| | [I-D.ietf-netconf-crypto-types], where said nodes have the NACM | | [I-D.ietf-netconf-crypto-types], where said nodes have the NACM | |||
| | extension "default-deny-all" set, thus preventing unrestricted | | extension "default-deny-all" set, thus preventing unrestricted | |||
| | read-access to the cleartext key values. | | read-access to the cleartext key values. | |||
| All of the writable data nodes defined by this module may be | All the writable data nodes defined by this module may be considered | |||
| considered sensitive or vulnerable in some network environments. For | sensitive or vulnerable in some network environments. For instance, | |||
| instance, any modification to a key or reference to a key may | any modification to a key or reference to a key may dramatically | |||
| dramatically alter the implemented security policy. For this reason, | alter the implemented security policy. For this reason, the NACM | |||
| the NACM extension "default-deny-write" has been set for all data | extension "default-deny-write" has been set for all data nodes | |||
| nodes defined in this module. | defined in this module. | |||
| This module does not define any RPCs, actions, or notifications, and | This module does not define any RPCs, actions, or notifications, and | |||
| thus the security consideration for such is not provided here. | thus the security consideration for such is not provided here. | |||
| 6. IANA Considerations | 6. IANA Considerations | |||
| 6.1. The "IETF XML" Registry | 6.1. The "IETF XML" Registry | |||
| This document registers four URIs in the "ns" subregistry of the IETF | This document registers four URIs in the "ns" subregistry of the IETF | |||
| XML Registry [RFC3688]. Following the format in [RFC3688], the | XML Registry [RFC3688]. Following the format in [RFC3688], the | |||
| skipping to change at page 49, line 19 ¶ | skipping to change at page 49, line 19 ¶ | |||
| (https://datatracker.ietf.org/doc/status-change-tls-des-idea- | (https://datatracker.ietf.org/doc/status-change-tls-des-idea- | |||
| ciphers-to-historic) reference. | ciphers-to-historic) reference. | |||
| 7. References | 7. References | |||
| 7.1. Normative References | 7.1. Normative References | |||
| [I-D.ietf-netconf-crypto-types] | [I-D.ietf-netconf-crypto-types] | |||
| Watsen, K., "YANG Data Types and Groupings for | Watsen, K., "YANG Data Types and Groupings for | |||
| Cryptography", Work in Progress, Internet-Draft, draft- | Cryptography", Work in Progress, Internet-Draft, draft- | |||
| ietf-netconf-crypto-types-19, 10 February 2021, | ietf-netconf-crypto-types-21, 14 September 2021, | |||
| <https://tools.ietf.org/html/draft-ietf-netconf-crypto- | <https://datatracker.ietf.org/doc/html/draft-ietf-netconf- | |||
| types-19>. | crypto-types-21>. | |||
| [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-21, | Progress, Internet-Draft, draft-ietf-netconf-keystore-22, | |||
| 10 February 2021, <https://tools.ietf.org/html/draft-ietf- | 18 May 2021, <https://datatracker.ietf.org/doc/html/draft- | |||
| netconf-keystore-21>. | ietf-netconf-keystore-22>. | |||
| [I-D.ietf-netconf-trust-anchors] | [I-D.ietf-netconf-trust-anchors] | |||
| Watsen, K., "A YANG Data Model for a Truststore", Work in | Watsen, K., "A YANG Data Model for a Truststore", Work in | |||
| Progress, Internet-Draft, draft-ietf-netconf-trust- | Progress, Internet-Draft, draft-ietf-netconf-trust- | |||
| anchors-14, 10 February 2021, | anchors-15, 18 May 2021, | |||
| <https://tools.ietf.org/html/draft-ietf-netconf-trust- | <https://datatracker.ietf.org/doc/html/draft-ietf-netconf- | |||
| anchors-14>. | trust-anchors-15>. | |||
| [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>. | |||
| [RFC5288] Salowey, J., Choudhury, A., and D. McGrew, "AES Galois | [RFC5288] Salowey, J., Choudhury, A., and D. McGrew, "AES Galois | |||
| Counter Mode (GCM) Cipher Suites for TLS", RFC 5288, | Counter Mode (GCM) Cipher Suites for TLS", RFC 5288, | |||
| DOI 10.17487/RFC5288, August 2008, | DOI 10.17487/RFC5288, August 2008, | |||
| <https://www.rfc-editor.org/info/rfc5288>. | <https://www.rfc-editor.org/info/rfc5288>. | |||
| skipping to change at page 50, line 45 ¶ | skipping to change at page 50, line 45 ¶ | |||
| [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
| Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
| <https://www.rfc-editor.org/info/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
| 7.2. Informative References | 7.2. Informative References | |||
| [I-D.ietf-netconf-http-client-server] | [I-D.ietf-netconf-http-client-server] | |||
| Watsen, K., "YANG Groupings for HTTP Clients and HTTP | Watsen, K., "YANG Groupings for HTTP Clients and HTTP | |||
| Servers", Work in Progress, Internet-Draft, draft-ietf- | Servers", Work in Progress, Internet-Draft, draft-ietf- | |||
| netconf-http-client-server-07, 18 May 2021, | netconf-http-client-server-07, 18 May 2021, | |||
| <https://tools.ietf.org/html/draft-ietf-netconf-http- | <https://datatracker.ietf.org/doc/html/draft-ietf-netconf- | |||
| client-server-07>. | http-client-server-07>. | |||
| [I-D.ietf-netconf-netconf-client-server] | [I-D.ietf-netconf-netconf-client-server] | |||
| Watsen, K., "NETCONF Client and Server Models", Work in | Watsen, K., "NETCONF Client and Server Models", Work in | |||
| Progress, Internet-Draft, draft-ietf-netconf-netconf- | Progress, Internet-Draft, draft-ietf-netconf-netconf- | |||
| client-server-23, 18 May 2021, | client-server-23, 18 May 2021, | |||
| <https://tools.ietf.org/html/draft-ietf-netconf-netconf- | <https://datatracker.ietf.org/doc/html/draft-ietf-netconf- | |||
| client-server-23>. | netconf-client-server-23>. | |||
| [I-D.ietf-netconf-restconf-client-server] | [I-D.ietf-netconf-restconf-client-server] | |||
| Watsen, K., "RESTCONF Client and Server Models", Work in | Watsen, K., "RESTCONF Client and Server Models", Work in | |||
| Progress, Internet-Draft, draft-ietf-netconf-restconf- | Progress, Internet-Draft, draft-ietf-netconf-restconf- | |||
| client-server-23, 18 May 2021, | client-server-23, 18 May 2021, | |||
| <https://tools.ietf.org/html/draft-ietf-netconf-restconf- | <https://datatracker.ietf.org/doc/html/draft-ietf-netconf- | |||
| client-server-23>. | restconf-client-server-23>. | |||
| [I-D.ietf-netconf-ssh-client-server] | [I-D.ietf-netconf-ssh-client-server] | |||
| Watsen, K., "YANG Groupings for SSH Clients and SSH | Watsen, K., "YANG Groupings for SSH Clients and SSH | |||
| Servers", Work in Progress, Internet-Draft, draft-ietf- | Servers", Work in Progress, Internet-Draft, draft-ietf- | |||
| netconf-ssh-client-server-24, 18 May 2021, | netconf-ssh-client-server-25, 18 June 2021, | |||
| <https://tools.ietf.org/html/draft-ietf-netconf-ssh- | <https://datatracker.ietf.org/doc/html/draft-ietf-netconf- | |||
| client-server-24>. | ssh-client-server-25>. | |||
| [I-D.ietf-netconf-tcp-client-server] | [I-D.ietf-netconf-tcp-client-server] | |||
| Watsen, K. and M. Scharf, "YANG Groupings for TCP Clients | Watsen, K. and M. Scharf, "YANG Groupings for TCP Clients | |||
| and TCP Servers", Work in Progress, Internet-Draft, draft- | and TCP Servers", Work in Progress, Internet-Draft, draft- | |||
| ietf-netconf-tcp-client-server-10, 18 May 2021, | ietf-netconf-tcp-client-server-10, 18 May 2021, | |||
| <https://tools.ietf.org/html/draft-ietf-netconf-tcp- | <https://datatracker.ietf.org/doc/html/draft-ietf-netconf- | |||
| client-server-10>. | tcp-client-server-10>. | |||
| [I-D.ietf-netconf-tls-client-server] | [I-D.ietf-netconf-tls-client-server] | |||
| Watsen, K., "YANG Groupings for TLS Clients and TLS | Watsen, K., "YANG Groupings for TLS Clients and TLS | |||
| Servers", Work in Progress, Internet-Draft, draft-ietf- | Servers", Work in Progress, Internet-Draft, draft-ietf- | |||
| netconf-tls-client-server-24, 18 May 2021, | netconf-tls-client-server-25, 18 June 2021, | |||
| <https://tools.ietf.org/html/draft-ietf-netconf-tls- | <https://datatracker.ietf.org/doc/html/draft-ietf-netconf- | |||
| client-server-24>. | tls-client-server-25>. | |||
| [I-D.ietf-tls-external-psk-guidance] | [I-D.ietf-tls-external-psk-guidance] | |||
| Housley, R., Hoyland, J., Sethi, M., and C. A. Wood, | Housley, R., Hoyland, J., Sethi, M., and C. A. Wood, | |||
| "Guidance for External PSK Usage in TLS", Work in | "Guidance for External PSK Usage in TLS", Work in | |||
| Progress, Internet-Draft, draft-ietf-tls-external-psk- | Progress, Internet-Draft, draft-ietf-tls-external-psk- | |||
| guidance-02, 20 February 2021, | guidance-04, 9 December 2021, | |||
| <https://tools.ietf.org/html/draft-ietf-tls-external-psk- | <https://datatracker.ietf.org/doc/html/draft-ietf-tls- | |||
| guidance-02>. | external-psk-guidance-04>. | |||
| [I-D.ietf-tls-external-psk-importer] | [I-D.ietf-tls-external-psk-importer] | |||
| Benjamin, D. and C. A. Wood, "Importing External PSKs for | Benjamin, D. and C. A. Wood, "Importing External PSKs for | |||
| TLS", Work in Progress, Internet-Draft, draft-ietf-tls- | TLS", Work in Progress, Internet-Draft, draft-ietf-tls- | |||
| external-psk-importer-06, 3 December 2020, | external-psk-importer-06, 3 December 2020, | |||
| <https://tools.ietf.org/html/draft-ietf-tls-external-psk- | <https://datatracker.ietf.org/doc/html/draft-ietf-tls- | |||
| importer-06>. | external-psk-importer-06>. | |||
| [IANA-CIPHER-ALGS] | [IANA-CIPHER-ALGS] | |||
| (IANA), I. A. N. A., "IANA "TLS Cipher Suites" Sub- | (IANA), I. A. N. A., "IANA "TLS Cipher Suites" Sub- | |||
| registry of the "Transport Layer Security (TLS) | registry of the "Transport Layer Security (TLS) | |||
| Parameters" Registry", <https://www.iana.org/assignments/ | Parameters" Registry", <https://www.iana.org/assignments/ | |||
| tls-parameters/tls-parameters.xhtml#tls-parameters-4>. | tls-parameters/tls-parameters.xhtml#tls-parameters-4>. | |||
| [RFC2246] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0", | [RFC2246] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0", | |||
| RFC 2246, DOI 10.17487/RFC2246, January 1999, | RFC 2246, DOI 10.17487/RFC2246, January 1999, | |||
| <https://www.rfc-editor.org/info/rfc2246>. | <https://www.rfc-editor.org/info/rfc2246>. | |||
| skipping to change at page 135, line 6 ¶ | skipping to change at page 135, line 6 ¶ | |||
| * In the server model, added a 'required-or-optional' choice to | * In the server model, added a 'required-or-optional' choice to | |||
| 'client-authentication' to better support protocols such as | 'client-authentication' to better support protocols such as | |||
| RESTCONF. | RESTCONF. | |||
| * In the server model, added a 'local-or-external' choice to | * In the server model, added a 'local-or-external' choice to | |||
| 'client-authentication' to better support consuming data models | 'client-authentication' to better support consuming data models | |||
| that prefer to keep client auth with client definitions than in a | that prefer to keep client auth with client definitions than in a | |||
| model principally concerned with the "transport". | model principally concerned with the "transport". | |||
| * In both models, removed the "demux containers", floating the | * In both models, removed the "demux containers", floating the | |||
| nacm:default-deny-write to each descendent node, and adding a note | nacm:default-deny-write to each descendant node, and adding a note | |||
| to model designers regarding the potential need to add their own | to model designers regarding the potential need to add their own | |||
| demux containers. | demux containers. | |||
| * Fixed a couple references (section 2 --> section 3) | * Fixed a couple references (section 2 --> section 3) | |||
| B.13. 12 to 13 | B.13. 12 to 13 | |||
| * Updated to reflect changes in trust-anchors drafts (e.g., s/trust- | * Updated to reflect changes in trust-anchors drafts (e.g., s/trust- | |||
| anchors/truststore/g + s/pinned.//) | anchors/truststore/g + s/pinned.//) | |||
| skipping to change at page 138, line 34 ¶ | skipping to change at page 138, line 34 ¶ | |||
| * Clarified support for various TLS protocol versions. | * Clarified support for various TLS protocol versions. | |||
| * Moved algorithms in ietf-tls-common (plus more) to IANA-maintained | * Moved algorithms in ietf-tls-common (plus more) to IANA-maintained | |||
| modules | modules | |||
| * Added "config false" lists for algorithms supported by the server. | * Added "config false" lists for algorithms supported by the server. | |||
| * Fixed issues found during YANG Doctor review. | * Fixed issues found during YANG Doctor review. | |||
| B.27. 25 to 26 | ||||
| * Replaced "base64encodedvalue==" with "BASE64VALUE=" in examples. | ||||
| * Minor editorial nits | ||||
| Acknowledgements | Acknowledgements | |||
| The authors would like to thank for following for lively discussions | The authors would like to thank for following for lively discussions | |||
| on list and in the halls (ordered by first name): Alan Luchuk, Andy | on list and in the halls (ordered by first name): Alan Luchuk, Andy | |||
| Bierman, Balazs Kovacs, Benoit Claise, Bert Wijnen, David Lamparter, | Bierman, Balazs Kovacs, Benoit Claise, Bert Wijnen, David Lamparter, | |||
| Dhruv Dhody, Gary Wu, Henk Birkholz, Juergen Schoenwaelder, Ladislav | Dhruv Dhody, Gary Wu, Henk Birkholz, Juergen Schoenwaelder, Ladislav | |||
| Lhotka, Liang Xia, Martin Bjoerklund, Mehmet Ersue, Michal Vasko, | Lhotka, Liang Xia, Martin Bjoerklund, Mehmet Ersue, Michal Vasko, | |||
| Phil Shafer, Radek Krejci, Sean Turner, and Tom Petch. | Phil Shafer, Radek Krejci, Sean Turner, and Tom Petch. | |||
| Contributors | Contributors | |||
| End of changes. 61 change blocks. | ||||
| 96 lines changed or deleted | 107 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/ | ||||