draft-ietf-opsawg-mud-tls-02.txt   draft-ietf-opsawg-mud-tls-03.txt 
OPSAWG WG T. Reddy OPSAWG WG T. Reddy
Internet-Draft McAfee Internet-Draft McAfee
Intended status: Standards Track D. Wing Intended status: Standards Track D. Wing
Expires: April 24, 2021 Citrix Expires: May 5, 2021 Citrix
B. Anderson B. Anderson
Cisco Cisco
October 21, 2020 November 1, 2020
Manufacturer Usage Description (MUD) (D)TLS Profiles for IoT Devices Manufacturer Usage Description (MUD) (D)TLS Profiles for IoT Devices
draft-ietf-opsawg-mud-tls-02 draft-ietf-opsawg-mud-tls-03
Abstract Abstract
This memo extends the Manufacturer Usage Description (MUD) This memo extends the Manufacturer Usage Description (MUD)
specification to incorporate (D)TLS profile parameters. This allows specification to incorporate (D)TLS profile parameters. This allows
a network security service to identify unexpected (D)TLS usage, which a network security service to identify unexpected (D)TLS usage, which
can indicate the presence of unauthorized software or malware on an can indicate the presence of unauthorized software or malware on an
endpoint. endpoint.
Status of This Memo Status of This Memo
skipping to change at page 1, line 37 skipping to change at page 1, line 37
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 April 24, 2021. This Internet-Draft will expire on May 5, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 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 Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 21 skipping to change at page 2, line 21
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Overview of MUD (D)TLS profiles for IoT devices . . . . . . . 5 3. Overview of MUD (D)TLS profiles for IoT devices . . . . . . . 5
4. (D)TLS 1.3 Handshake . . . . . . . . . . . . . . . . . . . . 6 4. (D)TLS 1.3 Handshake . . . . . . . . . . . . . . . . . . . . 6
4.1. Full (D)TLS 1.3 Handshake Inspection . . . . . . . . . . 6 4.1. Full (D)TLS 1.3 Handshake Inspection . . . . . . . . . . 6
4.2. Encrypted DNS . . . . . . . . . . . . . . . . . . . . . . 7 4.2. Encrypted DNS . . . . . . . . . . . . . . . . . . . . . . 7
5. (D)TLS Profile of a IoT device . . . . . . . . . . . . . . . 7 5. (D)TLS Profile of a IoT device . . . . . . . . . . . . . . . 7
5.1. Tree Structure of the (D)TLS profile Extension to the ACL 5.1. Tree Structure of the (D)TLS profile Extension to the ACL
YANG Model . . . . . . . . . . . . . . . . . . . . . . . 9 YANG Model . . . . . . . . . . . . . . . . . . . . . . . 9
5.2. The (D)TLS profile Extension to the ACL YANG Model . . . 10 5.2. The (D)TLS profile Extension to the ACL YANG Model . . . 10
5.3. IANA (D)TLS profile YANG Module . . . . . . . . . . . . . 15 5.3. IANA (D)TLS profile YANG Module . . . . . . . . . . . . . 15
5.4. MUD (D)TLS Profile Extension . . . . . . . . . . . . . . 18 5.4. MUD (D)TLS Profile Extension . . . . . . . . . . . . . . 20
6. Processing of the MUD (D)TLS Profile . . . . . . . . . . . . 20 6. Processing of the MUD (D)TLS Profile . . . . . . . . . . . . 21
7. MUD File Example . . . . . . . . . . . . . . . . . . . . . . 20 7. MUD File Example . . . . . . . . . . . . . . . . . . . . . . 22
8. Security Considerations . . . . . . . . . . . . . . . . . . . 22 8. Security Considerations . . . . . . . . . . . . . . . . . . . 24
9. Privacy Considerations . . . . . . . . . . . . . . . . . . . 23 9. Privacy Considerations . . . . . . . . . . . . . . . . . . . 24
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25
10.1. (D)TLS Profile YANG Modules . . . . . . . . . . . . . . 23 10.1. (D)TLS Profile YANG Modules . . . . . . . . . . . . . . 25
10.2. TLS Version registry . . . . . . . . . . . . . . . . . . 25 10.2. TLS Version registry . . . . . . . . . . . . . . . . . . 27
10.3. DTLS version registry . . . . . . . . . . . . . . . . . 26 10.3. DTLS version registry . . . . . . . . . . . . . . . . . 27
10.4. (D)TLS Parameters registry . . . . . . . . . . . . . . . 26 10.4. (D)TLS Parameters registry . . . . . . . . . . . . . . . 28
10.5. MUD Extensions registry . . . . . . . . . . . . . . . . 27 10.5. MUD Extensions registry . . . . . . . . . . . . . . . . 29
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 27 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 29
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 28 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 30
12.1. Normative References . . . . . . . . . . . . . . . . . . 28 12.1. Normative References . . . . . . . . . . . . . . . . . . 30
12.2. Informative References . . . . . . . . . . . . . . . . . 29 12.2. Informative References . . . . . . . . . . . . . . . . . 31
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33
1. Introduction 1. Introduction
Encryption is necessary to enhance the privacy of end users using IoT Encryption is necessary to enhance the privacy of end users using IoT
devices. TLS [RFC8446] and DTLS [I-D.ietf-tls-dtls13] are the devices. TLS [RFC8446] and DTLS [I-D.ietf-tls-dtls13] are the
dominant protocols (counting all (D)TLS versions) providing dominant protocols (counting all (D)TLS versions) providing
encryption for IoT device traffic. Unfortunately, in conjunction encryption for IoT device traffic. Unfortunately, in conjunction
with IoT applications' rise of encryption, malware authors are also with IoT applications' rise of encryption, malware authors are also
using encryption which thwarts network-based analysis such as deep using encryption which thwarts network-based analysis such as deep
packet inspection (DPI). Other mechanisms are thus needed to help packet inspection (DPI). Other mechanisms are thus needed to help
skipping to change at page 5, line 42 skipping to change at page 5, line 42
have to develop malicious agents per IoT device type, manufacturer have to develop malicious agents per IoT device type, manufacturer
and model, infect the device with the tailored malware agent and will and model, infect the device with the tailored malware agent and will
have keep up with updates to the device's (D)TLS profile parameters have keep up with updates to the device's (D)TLS profile parameters
over time. Furthermore, the malware's command and control server over time. Furthermore, the malware's command and control server
certificates need to be signed by the same certifying authorities certificates need to be signed by the same certifying authorities
trusted by the IoT devices. Typically, IoT devices have an trusted by the IoT devices. Typically, IoT devices have an
infrastructure that supports a rapid deployment of updates, and infrastructure that supports a rapid deployment of updates, and
malware agents will have a near-impossible task of similarly malware agents will have a near-impossible task of similarly
deploying updates and continuing to mimic the TLS behavior of the IoT deploying updates and continuing to mimic the TLS behavior of the IoT
device it has infected. However, if the IoT device has reached end- device it has infected. However, if the IoT device has reached end-
of-life and the IoT manufcaturer will not issue a firmware or of-life and the IoT manufacturer will not issue a firmware or
software update to the Thing or will not update the MUD file, the software update to the Thing or will not update the MUD file, the
"is-supported" attribute defined in Section 3.6 of [RFC8520] can be "is-supported" attribute defined in Section 3.6 of [RFC8520] can be
used by the MUD manager to identify the IoT manufcaturer no longer used by the MUD manager to identify the IoT manufacturer no longer
supports the device. supports the device.
The end-of-life of a device does not necessarily mean that it is The end-of-life of a device does not necessarily mean that it is
defective; rather, it denotes a need to replace and upgrade the defective; rather, it denotes a need to replace and upgrade the
network to next-generation devices for additional functionality. The network to next-generation devices for additional functionality. The
network security service will have to rely on other techniques network security service will have to rely on other techniques
discussed in Section 8 to identify malicious connections until the discussed in Section 8 to identify malicious connections until the
device is replaced. device is replaced.
Compromised IoT devices are typically used for launching DDoS attacks Compromised IoT devices are typically used for launching DDoS attacks
skipping to change at page 7, line 13 skipping to change at page 7, line 13
the encrypted DNS traffic. the encrypted DNS traffic.
4.2. Encrypted DNS 4.2. Encrypted DNS
A common usage pattern for certain type of IoT devices (e.g., light A common usage pattern for certain type of IoT devices (e.g., light
bulb) is for it to "call home" to a service that resides on the bulb) is for it to "call home" to a service that resides on the
public Internet, where that service is referenced through a domain public Internet, where that service is referenced through a domain
name (A or AAAA record). As discussed in Manufacturer Usage name (A or AAAA record). As discussed in Manufacturer Usage
Description Specification [RFC8520], because these devices tend to Description Specification [RFC8520], because these devices tend to
require access to very few sites, all other access should be require access to very few sites, all other access should be
considered suspect. If an IoT device is pre-configured to use public considered suspect. If an IoT device is pre-configured to use a
DoH/DoT server, the MUD policy enforcement point is moved to that public DoH/DoT server, the MUD policy enforcement point is moved to
public server, which cannot enforce the MUD policy based on domain that public server, which cannot enforce the MUD policy based on
names (Section 8 of [RFC8520]). If the DNS query is not accessible domain names (Section 8 of [RFC8520]). If the DNS query is not
for inspection, it becomes quite difficult for the infrastructure to accessible for inspection, it becomes quite difficult for the
suspect anything. Thus the use of a public DoH/DoT server is infrastructure to suspect anything. Thus the use of a public DoH/DoT
incompatible with MUD in general. A local DoH/DoT server is server is incompatible with MUD in general. A local DoH/DoT server
necessary to allow MUD policy enforcement on the local network is necessary to allow MUD policy enforcement on the local network
[I-D.reddy-add-enterprise]. [I-D.reddy-add-enterprise].
5. (D)TLS Profile of a IoT device 5. (D)TLS Profile of a IoT device
This document specifies a YANG module for representing (D)TLS This document specifies a YANG module for representing (D)TLS
profile. The (D)TLS profile YANG module provides a method for profile. The (D)TLS profile YANG module provides a method for
network security services to observe the (D)TLS profile parameters in network security services to observe the (D)TLS profile parameters in
the (D)TLS handshake to permit intended use and to block malicious the (D)TLS handshake to permit intended use and to block malicious
behavior. This module uses the cryptographic types defined in behavior. This module uses the cryptographic types defined in
[I-D.ietf-netconf-crypto-types]. See [RFC7925] for (D)TLS 1.2 and [I-D.ietf-netconf-crypto-types]. See [RFC7925] for (D)TLS 1.2 and
skipping to change at page 8, line 34 skipping to change at page 8, line 34
profile, the middlebox continues with the connection as normal. profile, the middlebox continues with the connection as normal.
Otherwise, the middlebox will act on the SPKI validation failure Otherwise, the middlebox will act on the SPKI validation failure
and takes appropriate action. and takes appropriate action.
o Cryptographic hash algorithm used to generate the SPKI pinsets o Cryptographic hash algorithm used to generate the SPKI pinsets
o List of pre-shared key exchange modes o List of pre-shared key exchange modes
o List of named groups (DHE or ECDHE) supported by the client o List of named groups (DHE or ECDHE) supported by the client
o List signature algorithms the client can validate in X.509 server o List of signature algorithms the client can validate in X.509
certificates server certificates
o List signature algorithms the client is willing to accept for o List of signature algorithms the client is willing to accept for
CertificateVerify message (Section 4.2.3 of [RFC8446]). For CertificateVerify message (Section 4.2.3 of [RFC8446]). For
example, a TLS client implementation can support different sets of example, a TLS client implementation can support different sets of
algorithms for certificates and in TLS to signal the capabilities algorithms for certificates and in TLS to signal the capabilities
in "signature_algorithms_cert" and "signature_algorithms" in "signature_algorithms_cert" and "signature_algorithms"
extensions. extensions.
o List of supported application protocols (e.g., h3, h2, http/1.1 o List of supported application protocols (e.g., h3, h2, http/1.1
etc.) etc.)
o List of certificate compression algorithms (defined in o List of certificate compression algorithms (defined in
skipping to change at page 9, line 24 skipping to change at page 9, line 24
signature algorithms, (D)TLS versions, pre-shared key exchange modes, signature algorithms, (D)TLS versions, pre-shared key exchange modes,
cipher suites and for any other TLS parameters defined in future cipher suites and for any other TLS parameters defined in future
RFCs. RFCs.
The (D)TLS profile does not include parameters like compression The (D)TLS profile does not include parameters like compression
methods for data compression, [RFC7525] recommends disabling TLS- methods for data compression, [RFC7525] recommends disabling TLS-
level compression to prevent compression-related attacks. In TLS level compression to prevent compression-related attacks. In TLS
1.3, only the "null" compression method is allowed (Section 4.1.2 of 1.3, only the "null" compression method is allowed (Section 4.1.2 of
[RFC8446]). [RFC8446]).
Note: The TLS and DTLS IANA registries are available from
<https://www.iana.org/assignments/tls-parameters/tls-parameters.txt>
and <https://www.iana.org/assignments/tls-extensiontype-values/tls-
extensiontype-values.txt>. The values for all the parameters in the
YANG module excluding the are defined in the TLS and DTLS IANA
registries excluding the supported_tls_versions and
supported_dtls_versions parameters. The TLS and DTLS IANA registry
does not maintain (D)TLS version numbers.
5.1. Tree Structure of the (D)TLS profile Extension to the ACL YANG 5.1. Tree Structure of the (D)TLS profile Extension to the ACL YANG
Model Model
This document augments the "ietf-acl" ACL YANG module defined in This document augments the "ietf-acl" ACL YANG module defined in
[RFC8519] for signaling the IoT device (D)TLS profile. This document [RFC8519] for signaling the IoT device (D)TLS profile. This document
defines the YANG module "ietf-acl-tls", which has the following tree defines the YANG module "ietf-acl-tls", which has the following tree
structure: structure:
module: ietf-acl-tls module: ietf-acl-tls
augment /acl:acls/acl:acl/acl:aces/acl:ace/acl:matches: augment /acl:acls/acl:acl/acl:aces/acl:ace/acl:matches:
+--rw client-profile {match-on-tls-dtls}? +--rw client-profile {match-on-tls-dtls}?
+--rw client-profile +--rw client-profile
+--rw tls-dtls-profiles* [profile-name] +--rw tls-dtls-profiles* [profile-name]
+--rw profile-name string +--rw profile-name string
+--rw supported-tls-versions* ianatp:tls-version +--rw supported-tls-versions* ianatp:tls-version
+--rw supported-dtls-versions* ianatp:dtls-version +--rw supported-dtls-versions* ianatp:dtls-version
+--rw cipher-suites* [cipher aead] +--rw cipher-suites* [cipher hash]
| +--rw cipher ianatp:cipher-algorithm | +--rw cipher ianatp:cipher-algorithm
| +--rw aead ianatp:aead-algorithm | +--rw hash ianatp:hash-algorithm
+--rw extension-types* +--rw extension-types*
| ianatp:extension-type | ianatp:extension-type
+--rw acceptlist-ta-certs* +--rw acceptlist-ta-certs*
| ct:trust-anchor-cert-cms | ct:trust-anchor-cert-cms
+--rw SPKI +--rw spki
| +--rw SPKI-pin-sets* ianatp:SPKI-pin-set | +--rw spki-pin-sets* ianatp:spki-pin-set
| +--rw SPKI-hash-algorithm? iha:hash-algorithm-type | +--rw spki-hash-algorithm? iha:hash-algorithm-type
+--rw psk-key-exchange-modes* +--rw psk-key-exchange-modes*
| ianatp:psk-key-exchange-mode | ianatp:psk-key-exchange-mode
| {tls-1-3 or dtls-1-3}? | {tls-1-3 or dtls-1-3}?
+--rw supported-groups* +--rw supported-groups*
| ianatp:supported-group | ianatp:supported-group
+--rw signature-algorithms-cert* +--rw signature-algorithms-cert*
| ianatp:signature-algorithm | ianatp:signature-algorithm
| {tls-1-3 or dtls-1-3}? | {tls-1-3 or dtls-1-3}?
+--rw signature-algorithms* +--rw signature-algorithms*
| ianatp:signature-algorithm | ianatp:signature-algorithm
+--rw application-protocols* +--rw application-protocols*
| ianatp:application-protocol | ianatp:application-protocol
+--rw cert-compression-algorithms* +--rw cert-compression-algorithms*
| ianatp:cert-compression-algorithm | ianatp:cert-compression-algorithm
| {tls-1-3 or dtls-1-3}? | {tls-1-3 or dtls-1-3}?
+--rw certificate_authorities* +--rw certificate-authorities*
ianatp:certificate_authority ianatp:certificate-authority
{tls-1-3 or dtls-1-3}? {tls-1-3 or dtls-1-3}?
5.2. The (D)TLS profile Extension to the ACL YANG Model 5.2. The (D)TLS profile Extension to the ACL YANG Model
<CODE BEGINS> file "ietf-acl-tls@2020-10-07.yang" <CODE BEGINS> file "ietf-acl-tls@2020-10-07.yang"
module ietf-acl-tls { module ietf-acl-tls {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-acl-tls"; namespace "urn:ietf:params:xml:ns:yang:ietf-acl-tls";
prefix ietf-acl-tls; prefix ietf-acl-tls;
skipping to change at page 11, line 36 skipping to change at page 11, line 36
organization organization
"IETF OPSAWG (Operations and Management Area Working Group)"; "IETF OPSAWG (Operations and Management Area Working Group)";
contact contact
"WG Web: <https://datatracker.ietf.org/wg/opsawg/> "WG Web: <https://datatracker.ietf.org/wg/opsawg/>
WG List: opsawg@ietf.org WG List: opsawg@ietf.org
Author: Konda, Tirumaleswar Reddy Author: Konda, Tirumaleswar Reddy
TirumaleswarReddy_Konda@McAfee.com TirumaleswarReddy_Konda@McAfee.com
"; ";
description description
"This YANG moudle defines a component that augments the "This YANG module defines a component that augments the
IETF description of an access list to allow (D)TLS profile IETF description of an access list to allow (D)TLS profile
as matching criteria. as matching criteria.
Copyright (c) 2020 IETF Trust and the persons identified as Copyright (c) 2020 IETF Trust and the persons identified as
authors of the code. All rights reserved. authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2020-10-07 { revision 2020-11-02 {
description description
"Initial revision"; "Initial revision";
reference reference
"RFC XXXX: Manufacturer Usage Description (MUD) (D)TLS "RFC XXXX: Manufacturer Usage Description (MUD) (D)TLS
Profiles for IoT Devices"; Profiles for IoT Devices";
} }
feature tls-1-2 { feature tls-1-2 {
description description
"TLS Protocol Version 1.2 is supported."; "TLS Protocol Version 1.2 is supported.";
skipping to change at page 12, line 33 skipping to change at page 12, line 33
"TLS Protocol Version 1.3 is supported."; "TLS Protocol Version 1.3 is supported.";
reference reference
"RFC 8446: The Transport Layer Security (TLS) Protocol "RFC 8446: The Transport Layer Security (TLS) Protocol
Version 1.3"; Version 1.3";
} }
feature dtls-1-2 { feature dtls-1-2 {
description description
"DTLS Protocol Version 1.2 is supported."; "DTLS Protocol Version 1.2 is supported.";
reference reference
"RFC 6346: Datagram Transport Layer Security Version 1.2"; "RFC 6346: Datagram Transport Layer Security
Version 1.2";
} }
feature dtls-1-3 { feature dtls-1-3 {
description description
"DTLS Protocol Version 1.3 is supported."; "DTLS Protocol Version 1.3 is supported.";
reference reference
"draft-ietf-tls-dtls13: Datagram Transport Layer Security 1.3"; "draft-ietf-tls-dtls13: Datagram Transport Layer
Security 1.3";
} }
feature match-on-tls-dtls { feature match-on-tls-dtls {
description description
"The networking device can support matching on (D)TLS parameters."; "The networking device can support matching on
(D)TLS parameters.";
} }
augment "/acl:acls/acl:acl/acl:aces/acl:ace/acl:matches" { augment "/acl:acls/acl:acl/acl:aces/acl:ace/acl:matches" {
if-feature "match-on-tls-dtls"; if-feature "match-on-tls-dtls";
description description
"(D)TLS specific matches."; "(D)TLS specific matches.";
container client-profile { container client-profile {
description description
"A grouping for (D)TLS profiles."; "A grouping for (D)TLS profiles.";
container client-profile { container client-profile {
description description
"A grouping for DTLS profiles."; "A grouping for DTLS profiles.";
list tls-dtls-profiles { list tls-dtls-profiles {
key "profile-name"; key "profile-name";
description description
"A list of (D)TLS version profiles supported by the client."; "A list of (D)TLS version profiles supported by
the client.";
leaf profile-name { leaf profile-name {
type string { type string {
length "1..64"; length "1..64";
} }
description description
"The name of (D)TLS profile; space and special "The name of (D)TLS profile; space and special
characters are not allowed."; characters are not allowed.";
} }
leaf-list supported-tls-versions { leaf-list supported-tls-versions {
type ianatp:tls-version; type ianatp:tls-version;
description description
"TLS versions supported by the client"; "TLS versions supported by the client.";
} }
leaf-list supported-dtls-versions { leaf-list supported-dtls-versions {
type ianatp:dtls-version; type ianatp:dtls-version;
description description
"DTLS versions supported by the client"; "DTLS versions supported by the client.";
} }
list cipher-suites { list cipher-suites {
key "cipher aead"; key "cipher hash";
leaf cipher { leaf cipher {
type ianatp:cipher-algorithm; type ianatp:cipher-algorithm;
description description
"Cipher"; "AEAD encryption algorithm as defined in RFC5116.";
} }
leaf aead { leaf hash {
type ianatp:aead-algorithm; type ianatp:hash-algorithm;
description description
"AEAD"; "Hash algorithm used with HKDF as defined in RFC5869.";
} }
description description
"Cipher Suites"; "A list of Cipher Suites supported by the client.";
} }
leaf-list extension-types { leaf-list extension-types {
type ianatp:extension-type; type ianatp:extension-type;
description description
"Extension Types"; "A list of Extension Types supported by the client.";
} }
leaf-list acceptlist-ta-certs { leaf-list acceptlist-ta-certs {
type ct:trust-anchor-cert-cms; type ct:trust-anchor-cert-cms;
description description
"A list of trust anchor certificates used by the client."; "A list of trust anchor certificates used by the client.";
} }
container SPKI { container spki {
description description
"A grouping for SPKI."; "A grouping for spki.";
leaf-list SPKI-pin-sets { leaf-list spki-pin-sets {
type ianatp:SPKI-pin-set; type ianatp:spki-pin-set;
description description
"A list of SPKI pin sets pre-configured on the client "A list of SPKI pin sets pre-configured on the client
to validate self-signed server certificate or to validate self-signed server certificate or
raw public key."; raw public key.";
} }
leaf SPKI-hash-algorithm { leaf spki-hash-algorithm {
type iha:hash-algorithm-type; type iha:hash-algorithm-type;
description description
"cryptographic hash algorithm used to generate the "cryptographic hash algorithm used to generate the
SPKI pinset."; SPKI pinset.";
} }
} }
leaf-list psk-key-exchange-modes { leaf-list psk-key-exchange-modes {
if-feature "tls-1-3 or dtls-1-3"; if-feature "tls-1-3 or dtls-1-3";
type ianatp:psk-key-exchange-mode; type ianatp:psk-key-exchange-mode;
description description
"pre-shared key exchange modes"; "pre-shared key exchange modes.";
} }
leaf-list supported-groups { leaf-list supported-groups {
type ianatp:supported-group; type ianatp:supported-group;
description description
"A list of named groups supported by the client."; "A list of named groups supported by the client.";
} }
leaf-list signature-algorithms-cert { leaf-list signature-algorithms-cert {
if-feature "tls-1-3 or dtls-1-3"; if-feature "tls-1-3 or dtls-1-3";
type ianatp:signature-algorithm; type ianatp:signature-algorithm;
description description
skipping to change at page 14, line 48 skipping to change at page 15, line 4
type ianatp:signature-algorithm; type ianatp:signature-algorithm;
description description
"A list signature algorithms the client can validate "A list signature algorithms the client can validate
in X.509 certificates."; in X.509 certificates.";
} }
leaf-list signature-algorithms { leaf-list signature-algorithms {
type ianatp:signature-algorithm; type ianatp:signature-algorithm;
description description
"A list signature algorithms the client can validate "A list signature algorithms the client can validate
in the CertificateVerify message."; in the CertificateVerify message.";
} }
leaf-list application-protocols { leaf-list application-protocols {
type ianatp:application-protocol; type ianatp:application-protocol;
description description
"A list application protocols supported by the client"; "A list application protocols supported by the client.";
} }
leaf-list cert-compression-algorithms { leaf-list cert-compression-algorithms {
if-feature "tls-1-3 or dtls-1-3"; if-feature "tls-1-3 or dtls-1-3";
type ianatp:cert-compression-algorithm; type ianatp:cert-compression-algorithm;
description description
"A list certificate compression algorithms "A list certificate compression algorithms
supported by the client"; supported by the client.";
} }
leaf-list certificate_authorities { leaf-list certificate-authorities {
if-feature "tls-1-3 or dtls-1-3"; if-feature "tls-1-3 or dtls-1-3";
type ianatp:certificate_authority; type ianatp:certificate-authority;
description description
"A list of the distinguished names of certificate authorities "A list of the distinguished names of certificate authorities
acceptable to the client"; acceptable to the client.";
} }
} }
} }
} }
} }
} }
<CODE ENDS> <CODE ENDS>
5.3. IANA (D)TLS profile YANG Module 5.3. IANA (D)TLS profile YANG Module
The TLS and DTLS IANA registries are available from
<https://www.iana.org/assignments/tls-parameters/tls-parameters.txt>
and <https://www.iana.org/assignments/tls-extensiontype-values/tls-
extensiontype-values.txt>.
The values for all the parameters in the "iana-tls-profile" YANG
module are defined in the TLS and DTLS IANA registries excluding the
tls-version, dtls-version, spki-pin-set, and certificate-authority
parameters. The values of spki-pin-set and certificate-authority
parameters will be specific to the IoT device.
The TLS and DTLS IANA registries do not maintain (D)TLS version
numbers. In (D)TLS 1.2 and below, "legacy_version" field in the
ClientHello message is used for version negotiation. However in
(D)TLS 1.3, the "supported_versions" extension is used by the client
to indicate which versions of (D)TLS it supports. TLS 1.3
ClientHello messages are identified as having a "legacy_version" of
0x0303 and a "supported_versions" extension present with 0x0304 as
the highest version. DTLS 1.3 ClientHello messages are identified as
having a "legacy_version" of 0xfefd and a "supported_versions"
extension present with 0x0304 as the highest version.
In order to ease updating the "iana-tls-profile" YANG module with
future (D)TLS versions, new (D)TLS version registries are defined in
Section 10.2 and Section 10.3. Whenever a new (D)TLS protocol
version is defined, the registry will be updated using expert review;
the "iana-tls-profile" YANG module will be automatically updated by
IANA.
The "iana-tls-profile" YANG module is defined as follows:
<CODE BEGINS> file "iana-tls-profile@2020-10-07.yang" <CODE BEGINS> file "iana-tls-profile@2020-10-07.yang"
module iana-tls-profile { module iana-tls-profile {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:iana-tls-profile"; namespace "urn:ietf:params:xml:ns:yang:iana-tls-profile";
prefix ianatp; prefix ianatp;
organization organization
"IANA"; "IANA";
contact contact
skipping to change at page 16, line 16 skipping to change at page 16, line 51
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2020-10-07 { revision 2020-11-02 {
description description
"Initial revision"; "Initial revision";
reference reference
"RFC XXXX: Manufacturer Usage Description (MUD) (D)TLS Profiles "RFC XXXX: Manufacturer Usage Description (MUD) (D)TLS Profiles
for IoT Devices"; for IoT Devices";
} }
typedef extension-type { typedef extension-type {
type uint16; type uint16;
description description
"Extension type"; "Extension type in the TLS ExtensionType Values registry as
defined in Section 7 of RFC8447.";
} }
typedef supported-group { typedef supported-group {
type uint16; type uint16;
description description
"Named group (DHE or ECDHE)"; "Supported Group in the TLS Supported Groups registry as
defined in Section 9 of RFC8447.";
} }
typedef SPKI-pin-set { typedef spki-pin-set {
type binary; type binary;
description description
"Subject Public Key Info pin set"; "Subject Public Key Info pin set as discussed in
Section 2.4 of RFC7469.";
} }
typedef signature-algorithm { typedef signature-algorithm {
type uint16; type uint16;
description description
"Signature algorithm"; "Signature algorithm in the TLS SignatureScheme registry as
defined in Section 11 of RFC8446.";
} }
typedef psk-key-exchange-mode { typedef psk-key-exchange-mode {
type uint8; type uint8;
description description
"pre-shared key exchange mode"; "Pre-shared key exchange mode in the TLS PskKeyExchangeMode
registry as defined in Section 11 of RFC8446.";
} }
typedef application-protocol { typedef application-protocol {
type string; type string;
description description
"application protocol"; "Application-Layer Protocol Negotiation (ALPN) Protocol ID
registry as defined in Section 6 of RFC7301.";
} }
typedef cert-compression-algorithm { typedef cert-compression-algorithm {
type uint16; type uint16;
description description
"certificate compression algorithm"; "Certificate compression algorithm in TLS Certificate
Compression Algorithm IDs registry as defined in
Section 7.3 of ietf-tls-certificate-compression";
} }
typedef certificate_authority { typedef certificate-authority {
type string; type string;
description description
"Distinguished Name of Certificate authority"; "Distinguished Name of Certificate authority as discussed
in Section 4.2.4 of RFC8446.";
} }
typedef cipher-algorithm { typedef cipher-algorithm {
type uint8; type uint8;
description description
"Cipher Algorithm"; "AEAD encryption algorithm in TLS Cipher Suites registry
as discussed in Section 11 of RFC8446.";
} }
typedef aead-algorithm { typedef hash-algorithm {
type uint8; type uint8;
description description
"AEAD Algorithm"; "Hash algorithm used with HMAC-based Extract-and-Expand Key
Derivation Function (HKDF) in TLS Cipher Suites registry
as discussed in Section 11 of RFC8446.";
} }
typedef tls-version { typedef tls-version {
type enumeration { type enumeration {
enum tls-1.2 { enum tls-1.2 {
value 1; value 1;
description description
"TLS Protocol Version 1.2."; "TLS Protocol Version 1.2.
TLS 1.2 ClientHello contains
0x0303 in 'legacy_version'.";
reference reference
"RFC 5246: The Transport Layer Security (TLS) Protocol "RFC 5246: The Transport Layer Security (TLS) Protocol
Version 1.2"; Version 1.2";
} }
enum tls-1.3 { enum tls-1.3 {
value 2; value 2;
description description
"TLS Protocol Version 1.3."; "TLS Protocol Version 1.3.
TLS 1.3 ClientHello contains a
supported_versions extension with 0x0304
contained in its body and the ClientHello contains
0x0303 in 'legacy_version'.";
reference reference
"RFC 8446: The Transport Layer Security (TLS) Protocol "RFC 8446: The Transport Layer Security (TLS) Protocol
Version 1.3"; Version 1.3";
} }
} }
description description
"Indicates the TLS version."; "Indicates the TLS version.";
} }
typedef dtls-version { typedef dtls-version {
type enumeration { type enumeration {
enum dtls-1.2 { enum dtls-1.2 {
value 1; value 1;
description description
"DTLS Protocol Version 1.2."; "DTLS Protocol Version 1.2.
DTLS 1.2 ClientHello contains
0xfefd in 'legacy_version'.";
reference reference
"RFC 6346: Datagram Transport Layer Security 1.2"; "RFC 6346: Datagram Transport Layer Security 1.2";
} }
enum dtls-1.3 { enum dtls-1.3 {
value 2; value 2;
description description
"DTLS Protocol Version 1.3."; "DTLS Protocol Version 1.3.
DTLS 1.3 ClientHello contains a
supported_versions extension with 0x0304
contained in its body and the ClientHello contains
0xfefd in 'legacy_version'.";
reference reference
"RFC DDDD: Datagram Transport Layer Security 1.3"; "RFC DDDD: Datagram Transport Layer Security 1.3";
} }
} }
description description
"Indicates the DTLS version."; "Indicates the DTLS version.";
} }
} }
<CODE ENDS> <CODE ENDS>
skipping to change at page 19, line 28 skipping to change at page 20, line 47
contact contact
"WG Web: <https://datatracker.ietf.org/wg/opsawg/> "WG Web: <https://datatracker.ietf.org/wg/opsawg/>
WG List: opsawg@ietf.org WG List: opsawg@ietf.org
Author: Konda, Tirumaleswar Reddy Author: Konda, Tirumaleswar Reddy
TirumaleswarReddy_Konda@McAfee.com TirumaleswarReddy_Konda@McAfee.com
"; ";
description description
"Extension to a MUD module to indicate (D)TLS "Extension to a MUD module to indicate (D)TLS
profile support."; profile support.
Copyright (c) 2020 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
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision 2020-10-19 { revision 2020-10-19 {
description description
"Initial revision."; "Initial revision.";
reference reference
"RFC XXXX: Manufacturer Usage Description (MUD) (D)TLS "RFC XXXX: Manufacturer Usage Description (MUD) (D)TLS
Profiles for IoT Devices"; Profiles for IoT Devices";
} }
augment "/ietf-mud:mud" { augment "/ietf-mud:mud" {
skipping to change at page 20, line 44 skipping to change at page 22, line 28
profile may support newer parameters. If the firewall does not profile may support newer parameters. If the firewall does not
recognize the newer parameters, an alert should be triggered to recognize the newer parameters, an alert should be triggered to
the firewall vendor and the IoT device owner or administrator. A the firewall vendor and the IoT device owner or administrator. A
firewall must be readily updatable, so that when ossification firewall must be readily updatable, so that when ossification
problems are discovered, they can be addressed quickly. Most problems are discovered, they can be addressed quickly. Most
importantly, if the firewall is not readily updatable, its importantly, if the firewall is not readily updatable, its
efficacy to identify emerging malware will decrease with time. efficacy to identify emerging malware will decrease with time.
For example, if the cipher suite TLS_AES_128_CCM_8_SHA256 in the For example, if the cipher suite TLS_AES_128_CCM_8_SHA256 in the
ClientHello message is specified in the MUD (D)TLS profile and the ClientHello message is specified in the MUD (D)TLS profile and the
cipher suite is not recognized by the firewall, an alert will be cipher suite is not recognized by the firewall, an alert will be
triggered. triggered. Similarly, if the (D)TLS version in the MUD file is
not recognized by the firewall, an alert will be triggered.
7. MUD File Example 7. MUD File Example
The example below contains (D)TLS profile parameters for a IoT device The example below contains (D)TLS profile parameters for a IoT device
used to reach servers listening on port 443 using TCP transport. used to reach servers listening on port 443 using TCP transport.
JSON encoding of YANG modelled data [RFC7951] is used to illustrate JSON encoding of YANG modelled data [RFC7951] is used to illustrate
the example. the example.
{ {
"ietf-mud:mud": { "ietf-mud:mud": {
skipping to change at page 22, line 4 skipping to change at page 23, line 37
"port": 443 "port": 443
} }
}, },
"ietf-acl-tls:client-profile" : { "ietf-acl-tls:client-profile" : {
"tls-dtls-profiles" : [ "tls-dtls-profiles" : [
{ {
"supported-tls-versions" : ["tls-1.3"], "supported-tls-versions" : ["tls-1.3"],
"cipher-suites" : [ "cipher-suites" : [
{ {
"cipher": 19, "cipher": 19,
"aead": 1 "hash": 1
}, },
{ {
"cipher": 19, "cipher": 19,
"aead": 2 "hash": 2
} }
], ],
"extension-types" : [10,11,13,16,24], "extension-types" : [10,11,13,16,24],
"supported-groups" : [29] "supported-groups" : [29]
} }
] ]
}, },
"actions": { "actions": {
"forwarding": "accept" "forwarding": "accept"
} }
skipping to change at page 23, line 16 skipping to change at page 24, line 50
agents using the same (D)TLS profile parameters as legitimate agent agents using the same (D)TLS profile parameters as legitimate agent
on the IoT device. In anomaly detection, the main idea is to on the IoT device. In anomaly detection, the main idea is to
maintain rigorous learning of "normal" behavior and where an maintain rigorous learning of "normal" behavior and where an
"anomaly" (or an attack) is identified and categorized based on the "anomaly" (or an attack) is identified and categorized based on the
knowledge about the normal behavior and a deviation from this normal knowledge about the normal behavior and a deviation from this normal
behavior. behavior.
9. Privacy Considerations 9. Privacy Considerations
Privacy considerations discussed in Section 16 of [RFC8520] to not Privacy considerations discussed in Section 16 of [RFC8520] to not
reveal the MUD URL to an atacker need to be taken into consideration. reveal the MUD URL to an attacker need to be taken into
The MUD URL can be stored in Trusted Execution Environment (TEE) for consideration. The MUD URL can be stored in Trusted Execution
secure operation, enhanced data security, and prevent exposure to Environment (TEE) for secure operation, enhanced data security, and
unauthorized software. prevent exposure to unauthorized software.
The middlebox acting as a (D)TLS proxy must immediately delete the The middlebox acting as a (D)TLS proxy must immediately delete the
decrypted data upon completing any necessary inspection functions. decrypted data upon completing any necessary inspection functions.
TLS proxy potentially has access to a user's PII (Personally TLS proxy potentially has access to a user's PII (Personally
identifiable information) and PHI (Protected Health Information). identifiable information) and PHI (Protected Health Information).
The TLS proxy must not store, process or modify PII data. For The TLS proxy must not store, process or modify PII data. For
example, IT administrator can configure the middlebox to bypass example, IT administrator can configure the middlebox to bypass
payload inspection for a connection destined to a specific service payload inspection for a connection destined to a specific service
due to privacy compliance requirements. In addition, mechanisms due to privacy compliance requirements. In addition, mechanisms
based on object security can be used by IoT devices to enable end-to- based on object security can be used by IoT devices to enable end-to-
end security and the middlebox will not have any access to the packet end security and the middlebox will not have any access to the packet
data. For example, Object Security for Constrained RESTful data. For example, Object Security for Constrained RESTful
Environments (OSCORE) [RFC8613] is a proposal that protects CoAP Environments (OSCORE) [RFC8613] is a proposal that protects CoAP
messages by wrapping them in the COSE format [RFC8152]. messages by wrapping them in the COSE format [RFC8152].
10. IANA Considerations 10. IANA Considerations
10.1. (D)TLS Profile YANG Modules 10.1. (D)TLS Profile YANG Modules
Each normative YANG module MUST be registered in both the "IETF XML
Registry" [RFC3688] and the "YANG Module Names" registry [RFC6020].
This document requests IANA to register the following URIs in the This document requests IANA to register the following URIs in the
"ns" subregistry within the "IETF XML Registry" [RFC3688]: "ns" subregistry within the "IETF XML Registry" [RFC3688]:
URI: urn:ietf:params:xml:ns:yang:iana-tls-profile URI: urn:ietf:params:xml:ns:yang:iana-tls-profile
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-acl-tls URI: urn:ietf:params:xml:ns:yang:ietf-acl-tls
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.
skipping to change at page 26, line 5 skipping to change at page 27, line 35
The registration procedure for "ietf-acl-tls" YANG module will be The registration procedure for "ietf-acl-tls" YANG module will be
Specification Required, as defined by [RFC8126]. Specification Required, as defined by [RFC8126].
10.2. TLS Version registry 10.2. TLS Version registry
IANA is requested to create a new subregistry titled "TLS Version IANA is requested to create a new subregistry titled "TLS Version
Codes". Codes in this registry are used as valid values of 'tls- Codes". Codes in this registry are used as valid values of 'tls-
version' parameter. Further assignments are to be made through version' parameter. Further assignments are to be made through
Expert Review [RFC8126]. Expert Review [RFC8126].
+-----------+-------------+--------------------------+-----------+ +-------+---------+-----------------+-----------+
| Value | Label | Description | Reference | | Value | Label | Description | Reference |
| | | | | | | | | |
| | | | | | | | | |
+-----------+-------------+--------------------------+-----------+ +-------+---------+-----------------+-----------+
| 1 | tls-1.2 | TLS Protocol Version 1.2 | [RFC5246] | | 1 | tls-1.2 | TLS Version 1.2 | [RFC5246] |
+----------------------------------------------------+-----------+ +-------+---------+-----------------+-----------+
| 2 | tls-1.3 | TLS Protocol Version 1.3 | [RFC8446] | | 2 | tls-1.3 | TLS Version 1.3 | [RFC8446] |
+----------------------------+-----------------------+-----------+ +-------+---------+-----------------+-----------+
10.3. DTLS version registry 10.3. DTLS version registry
IANA is requested to create a new subregistry titled "DTLS Version IANA is requested to create a new subregistry titled "DTLS Version
Codes". Codes in this registry are used as valid values of 'dtls- Codes". Codes in this registry are used as valid values of 'dtls-
version' parameter. Further assignments are to be made through version' parameter. Further assignments are to be made through
Expert Review [RFC8126]. Expert Review [RFC8126].
+-----------+-------------+---------------------------+-------------------------+ +-------+---------+----------------+-----------------------+
| Value | Label | Description | Reference | | Value | Label | Description | Reference |
| | | | | | | | | |
| | | | | | | | | |
+-----------+-------------+---------------------------+-------------------------+ +-------+---------+----------------+-----------------------+
| 1 | dtls-1.2 | DTLS Protocol Version 1.2 | [RFC6346] | | 1 |dtls-1.2 |DTLS Version 1.2| [RFC6346] |
+-----------------------------------------------------+-------------------------+ +-------+---------+----------------+-----------------------+
| 2 | dtls-1.3 | DTLS Protocol Version 1.3 | [draft-ietf-tls-dtls13] | | 2 |dtls-1.3 |DTLS Version 1.3|[draft-ietf-tls-dtls13]|
+----------------------------+------------------------+-------------------------+ +-------+---------+----------------+-----------------------+
10.4. (D)TLS Parameters registry 10.4. (D)TLS Parameters registry
IANA is requested to create a new subregistry titled "(D)TLS IANA is requested to create a new subregistry titled "(D)TLS
parameters". The values for all the (D)TLS parameters in the parameters".
registry are defined in the TLS and DTLS IANA registries
The values for all the (D)TLS parameters in the registry are defined
in the TLS and DTLS IANA registries
(<https://www.iana.org/assignments/tls-parameters/tls-parameters.txt> (<https://www.iana.org/assignments/tls-parameters/tls-parameters.txt>
and <https://www.iana.org/assignments/tls-extensiontype-values/tls- and <https://www.iana.org/assignments/tls-extensiontype-values/tls-
extensiontype-values.txt>) excluding the supported_tls_versions and extensiontype-values.txt>) excluding the tls-version, dtls-version,
supported_dtls_versions parameters. Further assignments are to be spki-pin-set and certificate-authority parameters. Further
made through Expert Review [RFC8126]. The registry is initially assignments are to be made through Expert Review [RFC8126]. The
populated with the following values: registry is initially populated with the following parameters:
+----------------------------+-------------+--------+---------------------------------------------+ +----------------------------+-------------+--------+---------------------------------------------+
| Parameter Name | YANG | JSON | | | Parameter Name | YANG | JSON | |
| | Type | Type | Description | | | Type | Type | Description |
| | | | | | | | | |
+----------------------------+-------------+--------+---------------------------------------------+ +----------------------------+-------------+--------+---------------------------------------------+
| extension-type | uint16 | Number | Extension type | | extension-type | uint16 | Number | Extension type |
+----------------------------+-------------+--------+---------------------------------------------+ +----------------------------+-------------+--------+---------------------------------------------+
| supported-group | uint16 | Number | Named group (DHE or ECDHE) | | supported-group | uint16 | Number | Supported group |
+----------------------------+-------------+--------+---------------------------------------------+ +----------------------------+-------------+--------+---------------------------------------------+
| SPKI-pin-set | binary | String | Subject Public Key Info pin set | | spki-pin-set | binary | String | Subject Public Key Info pin set |
+----------------------------+-------------+--------+---------------------------------------------+ +----------------------------+-------------+--------+---------------------------------------------+
| signature-algorithm | uint16 | Number | Signature algorithm | | signature-algorithm | uint16 | Number | Signature algorithm |
+----------------------------+-------------+--------+---------------------------------------------+ +----------------------------+-------------+--------+---------------------------------------------+
| psk-key-exchange-mode | uint8 | Number | pre-shared key exchange mode | | psk-key-exchange-mode | uint8 | Number | pre-shared key exchange mode |
+----------------------------+-------------+--------+---------------------------------------------+ +----------------------------+-------------+--------+---------------------------------------------+
| application-protocol | string | String | application protocol | | application-protocol | string | String | Application protocol |
+----------------------------+-------------+--------+---------------------------------------------+ +----------------------------+-------------+--------+---------------------------------------------+
| cert-compression-algorithm | uint16 | Number | certificate compression algorithm | | cert-compression-algorithm | uint16 | Number | Certificate compression algorithm |
+----------------------------+-------------+--------+---------------------------------------------+ +----------------------------+-------------+--------+---------------------------------------------+
| certificate_authority | string | String | Distinguished Name of Certificate authority | | certificate-authority | string | String | Distinguished Name of Certificate authority |
+----------------------------+-------------+--------+---------------------------------------------+ +----------------------------+-------------+--------+---------------------------------------------+
| cipher-algorithm | uint8 | Number | Cipher Algorithm | | cipher-algorithm | uint8 | Number | AEAD encryption algorithm |
+----------------------------+-------------+--------+---------------------------------------------+ +----------------------------+-------------+--------+---------------------------------------------+
| aead-algorithm | uint8 | Number | AEAD Algorithm | | hash-algorithm | uint8 | Number | Hash algorithm |
+----------------------------+-------------+--------+---------------------------------------------+ +----------------------------+-------------+--------+---------------------------------------------+
| tls-version | enumeration | String | TLS version | | tls-version | enumeration | String | TLS version |
+----------------------------+-------------+--------+---------------------------------------------+ +----------------------------+-------------+--------+---------------------------------------------+
| dtls-version | enumeration | String | DTLS version | | dtls-version | enumeration | String | DTLS version |
+----------------------------+-------------+--------+---------------------------------------------+ +----------------------------+-------------+--------+---------------------------------------------+
10.5. MUD Extensions registry 10.5. MUD Extensions registry
IANA is requested to create a new MUD Extension Name "ietf-mud-tls" IANA is requested to create a new MUD Extension Name "ietf-mud-tls"
in the MUD Extensions IANA registry in the MUD Extensions IANA registry
skipping to change at page 29, line 35 skipping to change at page 31, line 35
<https://arxiv.org/pdf/1804.04358.pdf>. <https://arxiv.org/pdf/1804.04358.pdf>.
[cryto-vulnerability] [cryto-vulnerability]
Perez, B., "Exploiting the Windows CryptoAPI Perez, B., "Exploiting the Windows CryptoAPI
Vulnerability", January 2020, Vulnerability", January 2020,
<https://media.defense.gov/2020/Jan/14/2002234275/-1/-1/0/ <https://media.defense.gov/2020/Jan/14/2002234275/-1/-1/0/
CSA-WINDOWS-10-CRYPT-LIB-20190114.PDF>. CSA-WINDOWS-10-CRYPT-LIB-20190114.PDF>.
[I-D.ietf-tls-esni] [I-D.ietf-tls-esni]
Rescorla, E., Oku, K., Sullivan, N., and C. Wood, "TLS Rescorla, E., Oku, K., Sullivan, N., and C. Wood, "TLS
Encrypted Client Hello", draft-ietf-tls-esni-07 (work in Encrypted Client Hello", draft-ietf-tls-esni-08 (work in
progress), June 2020. progress), October 2020.
[I-D.ietf-uta-tls13-iot-profile] [I-D.ietf-uta-tls13-iot-profile]
Tschofenig, H. and T. Fossati, "TLS/DTLS 1.3 Profiles for Tschofenig, H. and T. Fossati, "TLS/DTLS 1.3 Profiles for
the Internet of Things", draft-ietf-uta-tls13-iot- the Internet of Things", draft-ietf-uta-tls13-iot-
profile-00 (work in progress), June 2020. profile-00 (work in progress), June 2020.
[I-D.reddy-add-enterprise] [I-D.reddy-add-enterprise]
Reddy.K, T. and D. Wing, "DNS-over-HTTPS and DNS-over-TLS Reddy.K, T. and D. Wing, "DNS-over-HTTPS and DNS-over-TLS
Server Deployment Considerations for Enterprise Networks", Server Deployment Considerations for Enterprise Networks",
draft-reddy-add-enterprise-00 (work in progress), June draft-reddy-add-enterprise-00 (work in progress), June
 End of changes. 78 change blocks. 
140 lines changed or deleted 206 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/