draft-ietf-mboned-dorms-02.txt   draft-ietf-mboned-dorms-03.txt 
Mboned J. Holland Mboned J. Holland
Internet-Draft Akamai Technologies, Inc. Internet-Draft Akamai Technologies, Inc.
Intended status: Standards Track July 10, 2021 Intended status: Standards Track 23 October 2021
Expires: January 11, 2022 Expires: 26 April 2022
Discovery Of Restconf Metadata for Source-specific multicast Discovery Of Restconf Metadata for Source-specific multicast
draft-ietf-mboned-dorms-02 draft-ietf-mboned-dorms-03
Abstract Abstract
This document defines DORMS (Discovery Of Restconf Metadata for This document defines DORMS (Discovery Of Restconf Metadata for
Source-specific multicast), a method to discover and retrieve Source-specific multicast), a method to discover and retrieve
extensible metadata about source-specific multicast channels using extensible metadata about source-specific multicast channels using
RESTCONF. The reverse IP DNS zone for a multicast sender's IP RESTCONF. The reverse IP DNS zone for a multicast sender's IP
address is configured to use SRV resource records to advertise the address is configured to use SRV resource records to advertise the
hostname of a RESTCONF server that publishes metadata according to a hostname of a RESTCONF server that publishes metadata according to a
new YANG module with support for extensions. A new service name and new YANG module with support for extensions. A new service name and
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 January 11, 2022. This Internet-Draft will expire on 26 April 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 Provisions Relating to IETF Documents (https://trustee.ietf.org/
(https://trustee.ietf.org/license-info) in effect on the date of license-info) in effect on the date of publication of this document.
publication of this document. Please review these documents Please review these documents carefully, as they describe your rights
carefully, as they describe your rights and restrictions with respect and restrictions with respect to this document. Code Components
to this document. Code Components extracted from this document must extracted from this document must include Simplified BSD License text
include Simplified BSD License text as described in Section 4.e of as described in Section 4.e of the Trust Legal Provisions and are
the Trust Legal Provisions and are provided without warranty as provided without warranty as described in the Simplified BSD License.
described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Background . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Background . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Motivation and Use Cases . . . . . . . . . . . . . . . . 4 1.3. Motivation and Use Cases . . . . . . . . . . . . . . . . 5
1.3.1. Provisioning and Oversubscription Protection . . . . 5 1.3.1. Provisioning and Oversubscription Protection . . . . 5
1.3.2. Authentication . . . . . . . . . . . . . . . . . . . 5 1.3.2. Authentication . . . . . . . . . . . . . . . . . . . 5
1.3.3. Content Description . . . . . . . . . . . . . . . . . 5 1.3.3. Content Description . . . . . . . . . . . . . . . . . 5
1.4. Channel Discovery . . . . . . . . . . . . . . . . . . . . 5 1.4. Channel Discovery . . . . . . . . . . . . . . . . . . . . 5
1.5. Notes for Contributors and Reviewers . . . . . . . . . . 6 1.5. Notes for Contributors and Reviewers . . . . . . . . . . 6
1.5.1. Venues for Contribution and Discussion . . . . . . . 6 1.5.1. Venues for Contribution and Discussion . . . . . . . 6
1.5.2. Non-obvious doc choices . . . . . . . . . . . . . . . 6 1.5.2. Non-obvious doc choices . . . . . . . . . . . . . . . 7
2. Discovery and Metdata Retrieval . . . . . . . . . . . . . . . 7 2. Discovery and Metdata Retrieval . . . . . . . . . . . . . . . 7
2.1. DNS Bootstrap . . . . . . . . . . . . . . . . . . . . . . 7 2.1. DNS Bootstrap . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Ignore List . . . . . . . . . . . . . . . . . . . . . . . 8 2.2. Ignore List . . . . . . . . . . . . . . . . . . . . . . . 9
2.3. RESTCONF Bootstrap . . . . . . . . . . . . . . . . . . . 9 2.3. RESTCONF Bootstrap . . . . . . . . . . . . . . . . . . . 9
2.3.1. Root Resource Discovery . . . . . . . . . . . . . . . 9 2.3.1. Root Resource Discovery . . . . . . . . . . . . . . . 9
2.3.2. Yang Library Version . . . . . . . . . . . . . . . . 10 2.3.2. Yang Library Version . . . . . . . . . . . . . . . . 10
2.3.3. Yang Library Contents . . . . . . . . . . . . . . . . 10 2.3.3. Yang Library Contents . . . . . . . . . . . . . . . . 11
2.3.4. Metadata Retrieval . . . . . . . . . . . . . . . . . 11 2.3.4. Metadata Retrieval . . . . . . . . . . . . . . . . . 12
2.3.5. Cross Origin Resource Sharing (CORS) . . . . . . . . 12 2.3.5. Cross Origin Resource Sharing (CORS) . . . . . . . . 13
3. Scalability Considerations . . . . . . . . . . . . . . . . . 12 3. Scalability Considerations . . . . . . . . . . . . . . . . . 13
3.1. Provisioning . . . . . . . . . . . . . . . . . . . . . . 12 3.1. Provisioning . . . . . . . . . . . . . . . . . . . . . . 13
3.2. Data Scoping . . . . . . . . . . . . . . . . . . . . . . 13 3.2. Data Scoping . . . . . . . . . . . . . . . . . . . . . . 13
4. YANG Model . . . . . . . . . . . . . . . . . . . . . . . . . 13 4. YANG Model . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.1. Yang Tree . . . . . . . . . . . . . . . . . . . . . . . . 13 4.1. Yang Tree . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2. Yang Module . . . . . . . . . . . . . . . . . . . . . . . 14 4.2. Yang Module . . . . . . . . . . . . . . . . . . . . . . . 14
5. Privacy Considerations . . . . . . . . . . . . . . . . . . . 16 5. Privacy Considerations . . . . . . . . . . . . . . . . . . . 16
5.1. Linking Content to Traffic Streams . . . . . . . . . . . 16 5.1. Linking Content to Traffic Streams . . . . . . . . . . . 17
5.2. Linking Multicast Subscribers to Unicast Connections . . 17 5.2. Linking Multicast Subscribers to Unicast Connections . . 17
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
6.1. The YANG Module Names Registry . . . . . . . . . . . . . 17 6.1. The YANG Module Names Registry . . . . . . . . . . . . . 17
6.2. The XML Registry . . . . . . . . . . . . . . . . . . . . 17 6.2. The XML Registry . . . . . . . . . . . . . . . . . . . . 18
6.3. The Service Name and Transport Protocol Port Number 6.3. The Service Name and Transport Protocol Port Number
Registry . . . . . . . . . . . . . . . . . . . . . . . . 18 Registry . . . . . . . . . . . . . . . . . . . . . . . . 18
7. Security Considerations . . . . . . . . . . . . . . . . . . . 18 7. Security Considerations . . . . . . . . . . . . . . . . . . . 18
7.1. YANG Model Considerations . . . . . . . . . . . . . . . . 18 7.1. YANG Model Considerations . . . . . . . . . . . . . . . . 18
7.2. Exposure of Metadata . . . . . . . . . . . . . . . . . . 19 7.2. Exposure of Metadata . . . . . . . . . . . . . . . . . . 20
7.3. Secure Communications . . . . . . . . . . . . . . . . . . 20 7.3. Secure Communications . . . . . . . . . . . . . . . . . . 20
7.4. Record-Spoofing . . . . . . . . . . . . . . . . . . . . . 20 7.4. Record-Spoofing . . . . . . . . . . . . . . . . . . . . . 21
7.5. CORS considerations . . . . . . . . . . . . . . . . . . . 21 7.5. CORS considerations . . . . . . . . . . . . . . . . . . . 21
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 22
9.1. Normative References . . . . . . . . . . . . . . . . . . 22 9.1. Normative References . . . . . . . . . . . . . . . . . . 22
9.2. Informative References . . . . . . . . . . . . . . . . . 23 9.2. Informative References . . . . . . . . . . . . . . . . . 24
9.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 26
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 25
1. Introduction 1. Introduction
This document defines DORMS (Discovery Of Restconf Metadata for This document defines DORMS (Discovery Of Restconf Metadata for
Source-specific multicast). Source-specific multicast).
A DORMS service is a RESTCONF [RFC8040] service that provides read A DORMS service is a RESTCONF [RFC8040] service that provides read
access to data in the "ietf-dorms" YANG [RFC7950] model defined in access to data in the "ietf-dorms" YANG [RFC7950] model defined in
Section 4. This model, along with optional extensions defined in Section 4. This model, along with optional extensions defined in
other documents, provide an extensible set of information about other documents, provide an extensible set of information about
skipping to change at page 4, line 10 skipping to change at page 4, line 16
terminology regarding source-specific multicast as described in terminology regarding source-specific multicast as described in
[RFC4607] and the use of IGMPv3 [RFC3376] and MLDv2 [RFC3810] for [RFC4607] and the use of IGMPv3 [RFC3376] and MLDv2 [RFC3810] for
group management of source-specific multicast channels, as described group management of source-specific multicast channels, as described
in [RFC4604]. in [RFC4604].
The reader is also assumed to be familiar with the concepts and The reader is also assumed to be familiar with the concepts and
terminology for RESTCONF [RFC8040] and YANG [RFC7950]. terminology for RESTCONF [RFC8040] and YANG [RFC7950].
1.2. Terminology 1.2. Terminology
+--------+----------------------------------------------------------+ +========+=================================================+
| Term | Definition | | Term | Definition |
+--------+----------------------------------------------------------+ +========+=================================================+
| (S,G) | A source-specific multicast channel, as described in | | (S,G) | A source-specific multicast channel, as |
| | [RFC4607]. A pair of IP addresses with a source host IP | | | described in [RFC4607]. A pair of IP addresses |
| | and destination group IP. | | | with a source host IP and destination group IP. |
| | | +--------+-------------------------------------------------+
| DORMS | An application or system that can communicate with DORMS | | DORMS | An application or system that can communicate |
| client | servers to fetch metadata about (S,G)s. | | client | with DORMS servers to fetch metadata about |
| | | | | (S,G)s. |
| DORMS | A RESTCONF server that implements the ietf-dorms YANG | +--------+-------------------------------------------------+
| server | model defined in this document. | | DORMS | A RESTCONF server that implements the ietf- |
| | | | server | dorms YANG model defined in this document. |
| RR | A DNS Resource Record, as described in [RFC1034] | +--------+-------------------------------------------------+
| | | | RR | A DNS Resource Record, as described in |
| RRType | A DNS Resource Record Type, as described in [RFC1034] | | | [RFC1034] |
| | | +--------+-------------------------------------------------+
| SSM | Source-specific multicast, as described in [RFC4607] | | RRType | A DNS Resource Record Type, as described in |
+--------+----------------------------------------------------------+ | | [RFC1034] |
+--------+-------------------------------------------------+
| SSM | Source-specific multicast, as described in |
| | [RFC4607] |
+--------+-------------------------------------------------+
Table 1
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
[RFC2119] and [RFC8174] when, and only when, they appear in all [RFC2119] and [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
1.3. Motivation and Use Cases 1.3. Motivation and Use Cases
DORMS provides a framework that can be extended to publish DORMS provides a framework that can be extended to publish
skipping to change at page 6, line 33 skipping to change at page 6, line 46
Readers are welcome to open issues and send pull requests for this Readers are welcome to open issues and send pull requests for this
document. document.
Please note that contributions may be merged and substantially Please note that contributions may be merged and substantially
edited, and as a reminder, please carefully consider the Note Well edited, and as a reminder, please carefully consider the Note Well
before contributing: https://datatracker.ietf.org/submit/note-well/ before contributing: https://datatracker.ietf.org/submit/note-well/
Substantial discussion of this document should take place on the Substantial discussion of this document should take place on the
MBONED working group mailing list (mboned@ietf.org). MBONED working group mailing list (mboned@ietf.org).
o Join: https://www.ietf.org/mailman/listinfo/mboned * Join: https://www.ietf.org/mailman/listinfo/mboned
o Search: https://mailarchive.ietf.org/arch/browse/mboned/ * Search: https://mailarchive.ietf.org/arch/browse/mboned/
1.5.2. Non-obvious doc choices 1.5.2. Non-obvious doc choices
Log of odd things that need to be the way they are because of some Log of odd things that need to be the way they are because of some
reason that the author or reviewers may want to know later. reason that the author or reviewers may want to know later.
o building the draft without this line produces a warning about no * building the draft without this line produces a warning about no
reference to [RFC6991] or [RFC8294], but these are imported in the reference to [RFC6991] or [RFC8294], but these are imported in the
yang model. RFC 8407 requires the normative reference to 8294 yang model. RFC 8407 requires the normative reference to 8294
(there's an exception for 6991 but I'm not sure why and it doesn't (there's an exception for 6991 but I'm not sure why and it doesn't
seem forbidden). seem forbidden).
o Although it's non-normative, I chose the boundaries in the * Although it's non-normative, I chose the boundaries in the
recommendation for default setting of DNS expiry time in recommendation for default setting of DNS expiry time in
Section 2.2 based on the best practices advice at Section 2.2 based on the best practices advice at
https://www.varonis.com/blog/dns-ttl/ for "Short" and "Long" https://www.varonis.com/blog/dns-ttl/ for "Short" and "Long"
times. times.
o Section 7.1 is intended to be the template from * Section 7.1 is intended to be the template from
https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines [1], https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines
as required by https://datatracker.ietf.org/doc/html/ (https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines), as
rfc8407#section-3.7 [2]. Individual nodes are not listed because required by https://datatracker.ietf.org/doc/html/rfc8407#section-
blanket statements in that section covere them. 3.7 (https://datatracker.ietf.org/doc/html/rfc8407#section-3.7).
Individual nodes are not listed because blanket statements in that
section covere them.
o The 'must' constraint in the group list seems awkward, but seems * The 'must' constraint in the group list seems awkward, but seems
to work. Its intent is to require source & group to be either to work. Its intent is to require source & group to be either
both IPv4 or both IPv6, without mixing & matching. It requires both IPv4 or both IPv6, without mixing & matching. It requires
that either both the group address and its source parent's address that either both the group address and its source parent's address
must contain a colon or both must NOT contain a colon, where must contain a colon or both must NOT contain a colon, where
presence of a colon is used to distinguish IPv4 from IPv6. Maybe presence of a colon is used to distinguish IPv4 from IPv6. Maybe
there's a better way? there's a better way?
2. Discovery and Metdata Retrieval 2. Discovery and Metdata Retrieval
A client that needs metadata about an (S,G) MAY attempt to discover A client that needs metadata about an (S,G) MAY attempt to discover
skipping to change at page 8, line 8 skipping to change at page 8, line 26
For example, a client looking for metadata about the channel with a For example, a client looking for metadata about the channel with a
source IP of 2001:db8::a and the group address of ff3e::8000:d, the source IP of 2001:db8::a and the group address of ff3e::8000:d, the
client would start the DNS bootstrap step by performing a query for client would start the DNS bootstrap step by performing a query for
the SRV RRType for the following domain (after removing the line the SRV RRType for the following domain (after removing the line
break inserted for editorial reasons): break inserted for editorial reasons):
_dorms._tcp.a.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. _dorms._tcp.a.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.
0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
Or for an IPv4 (S,G) with a source address of 203.0.113.4 and a group Or for an IPv4 (S,G) with a source address of 203.0.113.4, the DORMS
address of 232.1.1.1, the DORMS client would request the SRV record client would request the SRV record from the in-addr.arpa tree
from the in-addr.arpa tree instead: instead:
_dorms._tcp.4.113.0.203.in-addr.arpa. _dorms._tcp.4.113.0.203.in-addr.arpa.
In either case, the DNS response for this domain might return a In either case, the DNS response for this domain might return a
record such as this: record such as this:
SRV 0 1 443 dorms-restconf.example.com. SRV 0 1 443 dorms-restconf.example.com.
This response informs the client that a DORMS server should be This response informs the client that a DORMS server should be
reachable at dorms-restconf.example.com on port 443, and should reachable at dorms-restconf.example.com on port 443, and should
skipping to change at page 14, line 16 skipping to change at page 14, line 34
+--rw dorms +--rw dorms
+--rw metadata +--rw metadata
+--rw sender* [source-address] +--rw sender* [source-address]
+--rw source-address inet:ip-address +--rw source-address inet:ip-address
+--rw group* [group-address] +--rw group* [group-address]
+--rw group-address +--rw group-address
| rt-types:ip-multicast-group-address | rt-types:ip-multicast-group-address
+--rw udp-stream* [port] +--rw udp-stream* [port]
+--rw port inet:port-number +--rw port inet:port-number
DORMS Tree Diagram Figure 1: DORMS Tree Diagram
4.2. Yang Module 4.2. Yang Module
<CODE BEGINS> file ietf-dorms@2021-07-11.yang <CODE BEGINS>
file ietf-dorms@2021-10-23.yang
module ietf-dorms { module ietf-dorms {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-dorms"; namespace "urn:ietf:params:xml:ns:yang:ietf-dorms";
prefix "dorms"; prefix "dorms";
import ietf-inet-types { import ietf-inet-types {
prefix "inet"; prefix "inet";
reference "RFC 6991 Section 4"; reference "RFC 6991 Section 4";
} }
skipping to change at page 18, line 34 skipping to change at page 18, line 49
7. Security Considerations 7. Security Considerations
7.1. YANG Model Considerations 7.1. YANG Model Considerations
The YANG module specified in this document defines a schema for data The YANG module specified in this document defines a schema for data
that is designed to be accessed via RESTCONF [RFC8040]. The lowest that is designed to be accessed via RESTCONF [RFC8040]. The lowest
RESTCONF layer is HTTPS, and the mandatory-to-implement secure RESTCONF layer is HTTPS, and the mandatory-to-implement secure
transport is TLS [RFC8446]. transport is TLS [RFC8446].
DORMS servers MUST constrain write access to ensure that unauthorized There are a number of data nodes defined in this YANG module that are
users cannot edit the data published by the server. Unauthorized writable/creatable/deletable (i.e., config true, which is the
editing of any data nodes or any extensions to data nodes could default). These data nodes may be considered sensitive or vulnerable
result in a denial of service for end users. in some network environments. Write operations (e.g., edit-config)
to these data nodes without proper protection can have a negative
effect on network operations. These are the subtrees and data nodes
and their sensitivity/vulnerability:
Subtrees:
* /dorms/metadata
* /dorms/metadata/sender
* /dorms/metadata/sender/group
* /dorms/metadata/sender/group/udp-stream
Data nodes:
* /dorms/metadata/sender/source-address
* /dorms/metadata/sender/group/group-address
* /dorms/metadata/sender/group/udp-stream/port
These data nodes refer to the characteristics of a stream of data
packets being sent on a multicast channel. If an unauthorized or
incorrect edit is made, receivers would no longer be able to
associate the data stream to the correct metadata, resulting in a
denial of service for end users that rely on the metadata to properly
process the data packets. Therefore DORMS servers MUST constrain
write access to ensure that unauthorized users cannot edit the data
published by the server.
The Network Configuration Access Control Model (NACM) [RFC8341] The Network Configuration Access Control Model (NACM) [RFC8341]
provides the means to restrict access for particular NETCONF or provides the means to restrict access for particular NETCONF or
RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or
RESTCONF protocol operations and content. DORMS servers MAY use NACM RESTCONF protocol operations and content. DORMS servers MAY use NACM
to constrain write accesses. to constrain write accesses.
However, note that scalability considerations described in However, note that scalability considerations described in
Section 3.1 might make the naive use of NACM intractable in many Section 3.1 might make the naive use of NACM intractable in many
deployments. So alternative methods to constrain write access to the deployments, for a broadcast use case. So alternative methods to
metadata MAY be used instead of or in addition to NACM. For example, constrain write access to the metadata MAY be used instead of or in
some deployments that use a CDN or caching layer of discoverable addition to NACM. For example, some deployments that use a CDN or
DORMS servers might uniformly provide read-only access through the caching layer of discoverable DORMS servers might uniformly provide
caching layer, and might require the trusted writers of configuration read-only access through the caching layer, and might require the
to use an alternate method of accessing the underlying database such trusted writers of configuration to use an alternate method of
as connecting directly to the origin, or requiring the use of a non- accessing the underlying database such as connecting directly to the
RESTCONF mechanism for editing the contents of the metadata. origin, or requiring the use of a non-RESTCONF mechanism for editing
the contents of the metadata.
The data nodes defined in this YANG module are writable because some The data nodes defined in this YANG module are writable because some
deployments might manage the contents in the database by using normal deployments might manage the contents in the database by using normal
RESTCONF editing operations with NACM, but in many deployments it's RESTCONF editing operations with NACM, but in typical deployments
expected that DORMS clients will generally have read-only access. it's expected that DORMS clients will generally have read-only
For the reasons and requirements described in Section 7.2, none of access. For the reasons and requirements described in Section 7.2,
the data nodes in the DORMS module or its extensions contain none of the data nodes in the DORMS module or its extensions contain
sensitive data. sensitive data.
DORMS servers MAY provide read-only access to clients for publicly DORMS servers MAY provide read-only access to clients for publicly
available metadata without authenticating the clients. That is, available metadata without authenticating the clients. That is,
under the terms in Section 2.5 of [RFC8040] read-only access to under the terms in Section 2.5 of [RFC8040] read-only access to
publicly available data MAY be treated as unprotected resources. publicly available data MAY be treated as unprotected resources.
However, DORMS servers MUST authenticate clients in order to provide
write access.
7.2. Exposure of Metadata 7.2. Exposure of Metadata
Although some DORMS servers MAY restrict access based on client Although some DORMS servers MAY restrict access based on client
identity, as described in Section 2.5 of [RFC8040], many DORMS identity, as described in Section 2.5 of [RFC8040], many DORMS
servers will use the ietf-dorms YANG model to publish information servers will use the ietf-dorms YANG model to publish information
without restriction, and even DORMS servers requiring client without restriction, and even DORMS servers requiring client
authentication will inherently, because of the purpose of DORMS, be authentication will inherently, because of the purpose of DORMS, be
providing the DORMS metadata to potentially many receivers. providing the DORMS metadata to potentially many receivers.
skipping to change at page 20, line 32 skipping to change at page 21, line 25
When using the DNS Boostrap method of discovery described in When using the DNS Boostrap method of discovery described in
Section 2.1, the SRV resource record contains information that SHOULD Section 2.1, the SRV resource record contains information that SHOULD
be communicated to the DORMS client without being modified. The be communicated to the DORMS client without being modified. The
method used to ensure the result was unmodified is up to the client. method used to ensure the result was unmodified is up to the client.
There must be a trust relationship between the end consumer of this There must be a trust relationship between the end consumer of this
resource record and the DNS server. This relationship may be end-to- resource record and the DNS server. This relationship may be end-to-
end DNSSEC validation or a secure connection to a trusted DNS server end DNSSEC validation or a secure connection to a trusted DNS server
that provides end-to-end safety to prevent record-spoofing of the that provides end-to-end safety to prevent record-spoofing of the
response from the trusted server. The connection to the trusted response from the trusted server. The connection to the trusted
server can use any secure channel, such as with a TSIG [RFC2845] or server can use any secure channel, such as with a TSIG [RFC8945] or
SIG(0) [RFC2931] channel, a secure local channel on the host, DNS SIG(0) [RFC2931] channel, a secure local channel on the host, DNS
over TLS [RFC7858], DNS over HTTPS [RFC8484], or some other mechanism over TLS [RFC7858], DNS over HTTPS [RFC8484], or some other mechanism
that provides authentication of the RR. that provides authentication of the RR.
If a DORMS client accepts a maliciously crafted SRV record, the If a DORMS client accepts a maliciously crafted SRV record, the
client could connect to a server controlled by the attacker, and use client could connect to a server controlled by the attacker, and use
metadata provided by them. The consequences of trusting maliciously metadata provided by them. The consequences of trusting maliciously
crafted metadata could range from attacks against the DORMS client's crafted metadata could range from attacks against the DORMS client's
parser of the metadata (via malicious constructions of the formatting parser of the metadata (via malicious constructions of the formatting
of the data) to arbitrary disruption of the decisions the DORMS of the data) to arbitrary disruption of the decisions the DORMS
skipping to change at page 23, line 35 skipping to change at page 24, line 26
<https://www.rfc-editor.org/info/rfc8446>. <https://www.rfc-editor.org/info/rfc8446>.
[whatwg-fetch] [whatwg-fetch]
"WHATWG Fetch Living Standard", October 2020, "WHATWG Fetch Living Standard", October 2020,
<https://fetch.spec.whatwg.org/>. <https://fetch.spec.whatwg.org/>.
9.2. Informative References 9.2. Informative References
[I-D.draft-ietf-core-comi] [I-D.draft-ietf-core-comi]
Veillette, M., Stok, P. V. D., Pelov, A., Bierman, A., and Veillette, M., Stok, P. V. D., Pelov, A., Bierman, A., and
I. Petrov, "CoAP Management Interface (CORECONF)", draft- I. Petrov, "CoAP Management Interface (CORECONF)", Work in
ietf-core-comi-11 (work in progress), January 2021. Progress, Internet-Draft, draft-ietf-core-comi-11, 17
January 2021, <https://www.ietf.org/archive/id/draft-ietf-
core-comi-11.txt>.
[I-D.draft-ietf-mboned-ambi] [I-D.draft-ietf-mboned-ambi]
Holland, J. and K. Rose, "Asymmetric Manifest Based Holland, J. and K. Rose, "Asymmetric Manifest Based
Integrity", draft-ietf-mboned-ambi-01 (work in progress), Integrity", Work in Progress, Internet-Draft, draft-ietf-
October 2020. mboned-ambi-01, 31 October 2020,
<https://www.ietf.org/archive/id/draft-ietf-mboned-ambi-
01.txt>.
[I-D.draft-ietf-mboned-cbacc] [I-D.draft-ietf-mboned-cbacc]
Holland, J., "Circuit Breaker Assisted Congestion Holland, J., "Circuit Breaker Assisted Congestion
Control", draft-ietf-mboned-cbacc-02 (work in progress), Control", Work in Progress, Internet-Draft, draft-ietf-
February 2021. mboned-cbacc-02, 1 February 2021,
<https://www.ietf.org/archive/id/draft-ietf-mboned-cbacc-
02.txt>.
[I-D.draft-openconfig-rtgwg-gnmi-spec] [I-D.draft-openconfig-rtgwg-gnmi-spec]
Shakir, R., Shaikh, A., Borman, P., Hines, M., Lebsack, Shakir, R., Shaikh, A., Borman, P., Hines, M., Lebsack,
C., and C. Morrow, "gRPC Network Management Interface C., and C. Morrow, "gRPC Network Management Interface
(gNMI)", draft-openconfig-rtgwg-gnmi-spec-01 (work in (gNMI)", Work in Progress, Internet-Draft, draft-
progress), March 2018. openconfig-rtgwg-gnmi-spec-01, 5 March 2018,
<https://www.ietf.org/archive/id/draft-openconfig-rtgwg-
gnmi-spec-01.txt>.
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities", [RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987,
<https://www.rfc-editor.org/info/rfc1034>. <https://www.rfc-editor.org/info/rfc1034>.
[RFC1035] Mockapetris, P., "Domain names - implementation and [RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, specification", STD 13, RFC 1035, DOI 10.17487/RFC1035,
November 1987, <https://www.rfc-editor.org/info/rfc1035>. November 1987, <https://www.rfc-editor.org/info/rfc1035>.
[RFC2845] Vixie, P., Gudmundsson, O., Eastlake 3rd, D., and B.
Wellington, "Secret Key Transaction Authentication for DNS
(TSIG)", RFC 2845, DOI 10.17487/RFC2845, May 2000,
<https://www.rfc-editor.org/info/rfc2845>.
[RFC2931] Eastlake 3rd, D., "DNS Request and Transaction Signatures [RFC2931] Eastlake 3rd, D., "DNS Request and Transaction Signatures
( SIG(0)s )", RFC 2931, DOI 10.17487/RFC2931, September ( SIG(0)s )", RFC 2931, DOI 10.17487/RFC2931, September
2000, <https://www.rfc-editor.org/info/rfc2931>. 2000, <https://www.rfc-editor.org/info/rfc2931>.
[RFC3040] Cooper, I., Melve, I., and G. Tomlinson, "Internet Web [RFC3040] Cooper, I., Melve, I., and G. Tomlinson, "Internet Web
Replication and Caching Taxonomy", RFC 3040, Replication and Caching Taxonomy", RFC 3040,
DOI 10.17487/RFC3040, January 2001, DOI 10.17487/RFC3040, January 2001,
<https://www.rfc-editor.org/info/rfc3040>. <https://www.rfc-editor.org/info/rfc3040>.
[RFC3376] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A. [RFC3376] Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A.
skipping to change at page 25, line 34 skipping to change at page 26, line 30
[RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., [RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D.,
and P. Hoffman, "Specification for DNS over Transport and P. Hoffman, "Specification for DNS over Transport
Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May
2016, <https://www.rfc-editor.org/info/rfc7858>. 2016, <https://www.rfc-editor.org/info/rfc7858>.
[RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS [RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS
(DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018, (DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018,
<https://www.rfc-editor.org/info/rfc8484>. <https://www.rfc-editor.org/info/rfc8484>.
9.3. URIs [RFC8945] Dupont, F., Morris, S., Vixie, P., Eastlake 3rd, D.,
Gudmundsson, O., and B. Wellington, "Secret Key
[1] https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines Transaction Authentication for DNS (TSIG)", STD 93,
RFC 8945, DOI 10.17487/RFC8945, November 2020,
[2] https://datatracker.ietf.org/doc/html/rfc8407#section-3.7 <https://www.rfc-editor.org/info/rfc8945>.
Author's Address Author's Address
Jake Holland Jake Holland
Akamai Technologies, Inc. Akamai Technologies, Inc.
150 Broadway 150 Broadway
Cambridge, MA 02144 Cambridge, MA 02144,
United States of America United States of America
Email: jakeholland.net@gmail.com Email: jakeholland.net@gmail.com
 End of changes. 36 change blocks. 
101 lines changed or deleted 140 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/