rfc9526.original | rfc9526.txt | |||
---|---|---|---|---|
Homenet D. Migault | Internet Engineering Task Force (IETF) D. Migault | |||
Internet-Draft Ericsson | Request for Comments: 9526 Ericsson | |||
Intended status: Experimental R. Weber | Category: Experimental R. Weber | |||
Expires: 12 August 2023 Nominum | ISSN: 2070-1721 Nominum | |||
M. Richardson | M. Richardson | |||
Sandelman Software Works | Sandelman Software Works | |||
R. Hunter | R. Hunter | |||
Globis Consulting BV | Globis Consulting BV | |||
8 February 2023 | January 2024 | |||
Simple Provisioning of Public Names for Residential Networks | Simple Provisioning of Public Names for Residential Networks | |||
draft-ietf-homenet-front-end-naming-delegation-27 | ||||
Abstract | Abstract | |||
Home network owners may have devices or services hosted on their home | Home network owners may have devices or services hosted on their home | |||
network that they wish to access from the Internet (i.e., from a | network that they wish to access from the Internet (i.e., from a | |||
network outside of the home network). Home networks are increasingly | network outside of the home network). Home networks are increasingly | |||
numbered using IPv6 addresses, which in principle makes this access | numbered using IPv6 addresses, which in principle makes this access | |||
simpler, but their access from the Internet requires the names and IP | simpler, but accessing home networks from the Internet requires the | |||
addresses of these devices and services to be made available in the | names and IP addresses of these devices and services to be made | |||
public DNS. | available in the public DNS. | |||
This document describes how an Home Naming Authority (NHA) instructs | This document describes how a Home Naming Authority (NHA) instructs | |||
the outsourced infrastructure to publish these pieces of information | the outsourced infrastructure to publish these pieces of information | |||
in the public DNS. The names and IP addresses of the home network | in the public DNS. The names and IP addresses of the home network | |||
are set in the Public Homenet Zone by the Homenet Naming Authority | are set in the Public Homenet Zone by the Homenet Naming Authority | |||
(HNA), which in turn instructs an outsourced infrastructure to | (HNA), which in turn instructs an outsourced infrastructure to | |||
publish the zone on behalf of the home network owner. | publish the zone on behalf of the home network owner. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
provisions of BCP 78 and BCP 79. | published for examination, experimental implementation, and | |||
evaluation. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document defines an Experimental Protocol for the Internet | |||
and may be updated, replaced, or obsoleted by other documents at any | community. This document is a product of the Internet Engineering | |||
time. It is inappropriate to use Internet-Drafts as reference | Task Force (IETF). It represents the consensus of the IETF | |||
material or to cite them other than as "work in progress." | community. It has received public review and has been approved for | |||
publication by the Internet Engineering Steering Group (IESG). Not | ||||
all documents approved by the IESG are candidates for any level of | ||||
Internet Standard; see Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 12 August 2023. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9526. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2023 IETF Trust and the persons identified as the | Copyright (c) 2024 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 | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Terminology | |||
3. Selecting Names and Addresses to Publish . . . . . . . . . . 7 | 3. Selecting Names and Addresses to Publish | |||
4. Envisioned deployment scenarios . . . . . . . . . . . . . . . 7 | 4. Envisioned Deployment Scenarios | |||
4.1. CPE Vendor . . . . . . . . . . . . . . . . . . . . . . . 8 | 4.1. CPE Vendor | |||
4.2. Agnostic CPE . . . . . . . . . . . . . . . . . . . . . . 9 | 4.2. Agnostic CPE | |||
5. Architecture Description . . . . . . . . . . . . . . . . . . 9 | 5. Architecture Description | |||
5.1. Architecture Overview . . . . . . . . . . . . . . . . . . 10 | 5.1. Architecture Overview | |||
5.2. Distribution Manager (DM) Communication Channels . . . . 12 | 5.2. Distribution Manager (DM) Communication Channels | |||
6. Control Channel . . . . . . . . . . . . . . . . . . . . . . . 13 | 6. Control Channel | |||
6.1. Information to Build the Public Homenet Zone . . . . . . 14 | 6.1. Building the Public Homenet Zone | |||
6.2. Information to build the DNSSEC chain of trust . . . . . 15 | 6.2. Building the DNSSEC Chain of Trust | |||
6.3. Information to set up the Synchronization Channel . . . . 15 | 6.3. Setting Up the Synchronization Channel | |||
6.4. Deleting the delegation . . . . . . . . . . . . . . . . . 15 | 6.4. Deleting the Delegation | |||
6.5. Messages Exchange Description . . . . . . . . . . . . . . 16 | 6.5. Message Exchange Description | |||
6.5.1. Retrieving information for the Public Homenet Zone . 16 | 6.5.1. Retrieving Information for the Public Homenet Zone | |||
6.5.2. Providing information for the DNSSEC chain of | 6.5.2. Providing Information for the DNSSEC Chain of Trust | |||
trust . . . . . . . . . . . . . . . . . . . . . . . . 18 | 6.5.3. Providing Information for the Synchronization Channel | |||
6.5.3. Providing information for the Synchronization | 6.5.4. Initiating Deletion of the Delegation | |||
Channel . . . . . . . . . . . . . . . . . . . . . . . 18 | 6.6. Securing the Control Channel | |||
6.5.4. HNA instructing deleting the delegation . . . . . . . 19 | 7. Synchronization Channel | |||
6.6. Securing the Control Channel . . . . . . . . . . . . . . 19 | 7.1. Securing the Synchronization Channel | |||
7. Synchronization Channel . . . . . . . . . . . . . . . . . . . 20 | 8. DM Distribution Channel | |||
7.1. Securing the Synchronization Channel . . . . . . . . . . 21 | 9. HNA Security Policies | |||
8. DM Distribution Channel . . . . . . . . . . . . . . . . . . . 22 | 10. Public Homenet Reverse Zone | |||
9. HNA Security Policies . . . . . . . . . . . . . . . . . . . . 22 | 11. DNSSEC-Compliant Homenet Architecture | |||
10. Public Homenet Reverse Zone . . . . . . . . . . . . . . . . . 23 | 12. Renumbering | |||
11. DNSSEC compliant Homenet Architecture . . . . . . . . . . . . 24 | 13. Privacy Considerations | |||
12. Renumbering . . . . . . . . . . . . . . . . . . . . . . . . . 25 | 14. Security Considerations | |||
13. Privacy Considerations . . . . . . . . . . . . . . . . . . . 26 | 14.1. Registered Homenet Domain | |||
14. Security Considerations . . . . . . . . . . . . . . . . . . . 28 | 14.2. HNA DM Channels | |||
14.1. Registered Homenet Domain . . . . . . . . . . . . . . . 28 | 14.3. Names Are Less Secure than IP Addresses | |||
14.2. HNA DM channels . . . . . . . . . . . . . . . . . . . . 28 | 14.4. Names Are Less Volatile than IP Addresses | |||
14.3. Names are less secure than IP addresses . . . . . . . . 29 | 14.5. Deployment Considerations | |||
14.4. Names are less volatile than IP addresses . . . . . . . 30 | 14.6. Operational Considerations | |||
14.5. Deployment Considerations . . . . . . . . . . . . . . . 30 | 15. IANA Considerations | |||
14.6. Operational Considerations . . . . . . . . . . . . . . . 30 | 16. References | |||
15. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31 | 16.1. Normative References | |||
16. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . 31 | 16.2. Informative References | |||
17. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 31 | Appendix A. HNA Channel Configurations | |||
18. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 | A.1. Public Homenet Zone | |||
18.1. Normative References . . . . . . . . . . . . . . . . . . 32 | Appendix B. Information Model for Outsourced Information | |||
18.2. Informative References . . . . . . . . . . . . . . . . . 33 | Appendix C. Example: A Manufacturer-Provisioned HNA Product Flow | |||
Appendix A. HNA Channel Configurations . . . . . . . . . . . . . 37 | Acknowledgments | |||
A.1. Homenet Public Zone . . . . . . . . . . . . . . . . . . . 37 | Contributors | |||
Appendix B. Information Model for Outsourced information . . . . 38 | Authors' Addresses | |||
Appendix C. Example: A manufacturer provisioned HNA product | ||||
flow . . . . . . . . . . . . . . . . . . . . . . . . . . 41 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 42 | ||||
1. Introduction | 1. Introduction | |||
Home network owners may have devices or services hosted on their home | Home network owners may have devices or services hosted on their home | |||
network that they wish to access from the Internet (i.e., from a | network that they wish to access from the Internet (i.e., from a | |||
network outside of the home network). The use of IPv6 addresesses in | network outside of the home network). The use of IPv6 addresses in | |||
the home makes in principle the actual network access simpler, while | the home makes, in principle, the actual network access simpler, | |||
on the other hand, the addresses are much harder to remember, and | while on the other hand, the addresses are much harder to remember | |||
subject to regular renumbering. To make this situation simpler for | and are subject to regular renumbering. To make this situation | |||
typical home owners to manage, there needs to be an easy way for | simpler for typical home owners to manage, there needs to be an easy | |||
names and IP addresses of these devices and services to be published | way for the names and IP addresses of these devices and services to | |||
in the public DNS. | be published in the public DNS. | |||
As depicted in {fig-outsourcing-overview}, he names and IP address of | As depicted in Figure 1, the names and IP address of the home network | |||
the home network are made availble in the Public Homenet Zone by the | are made available in the Public Homenet Zone by the Homenet Naming | |||
Homenet Naming Authority (HNA), which in turn instructs the DNS | Authority (HNA), which in turn instructs the DNS Outsourcing | |||
Outsourcing Infrastructure (DOI) to publish the zone on behalf of the | Infrastructure (DOI) to publish the zone on behalf of the HNA. This | |||
HNA. This document describes how an HNA can instruct a DOI to | document describes how an HNA can instruct a DOI to publish a Public | |||
publish a Public Homenet Zone on its behalf. | Homenet Zone on its behalf. | |||
The document introduces the Synchronization Channel and the Control | This document introduces the Synchronization Channel and the Control | |||
Channel between the HNA and the Distribution Manager (DM), which is | Channel between the HNA and the Distribution Manager (DM), which is | |||
the main interface to the DNS Outsourcing Infrastructure (DOI). | the main interface to the DOI. | |||
The Synchronization Channel (see Section 7) is used to synchronize | The Synchronization Channel (see Section 7) is used to synchronize | |||
the Public Homenet Zone. | the Public Homenet Zone. | |||
Internet | Internet | |||
.---------------------. .-------------------. | .---------------------. .-------------------. | |||
| Home Network | Control | DOI | | | Home Network | Control | DOI | | |||
|.-------------------.| Channel |.-----------------.| | |.-------------------.| Channel |.-----------------.| | |||
|| HNA |<----------->| Distribution || | || HNA |<----------->| Distribution || | |||
||.-----------------.|| || Manager || | ||.-----------------.|| || Manager || | |||
skipping to change at page 4, line 25 ¶ | skipping to change at line 159 ¶ | |||
|'-------------------'| Channel | V | | |'-------------------'| Channel | V | | |||
| | |.-----------------.| | | | |.-----------------.| | |||
| | || Public Homenet || | | | || Public Homenet || | |||
'---------------------' || Zone || | '---------------------' || Zone || | |||
|| myhome.example || | || myhome.example || | |||
|'-----------------'| | |'-----------------'| | |||
'---^--^--^--^--^---' | '---^--^--^--^--^---' | |||
| | | | | | | | | | | | |||
(served on the Internet) | (served on the Internet) | |||
Figure 1: High level architecture overview of outsourcing the | Figure 1: High-Level Architecture Overview of Outsourcing the | |||
Public Homenet Zone | Public Homenet Zone | |||
The Synchronization Channel is a zone transfer, with the HNA | The Synchronization Channel is a zone transfer, with the HNA | |||
configured as a primary, and the Distribution Manager configured as a | configured as a primary server and the Distribution Manager | |||
secondary. Some operators refer to this kind of configuration as a | configured as a secondary server. Some operators refer to this kind | |||
"hidden primary", but that term is not used in this document as it is | of configuration as a "hidden primary", but that term is not used in | |||
not precisely defined anywhere, but has many slightly different | this document as it is not precisely defined anywhere, but it has | |||
meanings to many. | many slightly different meanings to many. | |||
The Control Channel (see Section 6) is used to set up the | The Control Channel (see Section 6) is used to set up the | |||
Synchronization Channel. This channel is in the form of a dynamic | Synchronization Channel. This channel is in the form of a dynamic | |||
DNS update process, authenticated by TLS. | DNS update process, authenticated by TLS. | |||
For example, to build the Public Homenet Zone, the HNA needs the | For example, to build the Public Homenet Zone, the HNA needs the | |||
authoritative servers (and associated IP addresses) of the servers | authoritative servers (and associated IP addresses) of the DOI's | |||
(the visible primaries) of the DOI actually serving the zone. | servers (the visible primaries) that are actually serving the zone. | |||
Similarly, the DOI needs to know the IP address of the (hidden) | Similarly, the DOI needs to know the IP address of the (hidden) | |||
primary (HNA) as well as potentially the hash of the Key Signing Key | primary (HNA) as well as potentially the hash of the Key Signing Key | |||
(KSK) in the DS RRset to secure the DNSSEC delegation with the parent | (KSK) in the DS RRset to secure the DNSSEC delegation with the parent | |||
zone. | zone. | |||
The remainder of the document is as follows. | The remainder of the document is as follows. | |||
Section 2 defines the terminology. Section 3 presents the general | Section 2 defines the terminology. Section 3 presents the general | |||
problem of publishing names and IP addresses. | problem of publishing names and IP addresses. Section 4 briefly | |||
describes some potential envisioned deployment scenarios. And | ||||
Section 5 provides an architectural view of the HNA, DM and DOI as | Section 5 provides an architectural view of the HNA, DM, and DOI as | |||
well as their different communication channels (Control Channel, | well as their different communication channels (Control Channel, | |||
Synchronization Channel, DM Distribution Channel) respectively | Synchronization Channel, and DM Distribution Channel) described in | |||
described in Section 6, Section 7 and Section 8. | Sections 6, 7, and 8, respectively. | |||
Then Section 6 and Section 7 deal with the two channels that | Then, Sections 6 and 7 deal with the two channels that interface to | |||
interface to the home. Section 8 provides a set of requirements and | the home. Section 8 provides a set of requirements and expectations | |||
expectations on how the distribution system works. This section is | on how the distribution system works. This section is non-normative | |||
non-normative and not subject to standardization, but reflects how | and not subject to standardization but reflects how many scalable DNS | |||
many scalable DNS distribution systems operate. | distribution systems operate. | |||
Section 9 and Section 11 respectively detail HNA security policies as | Sections 9 and 11 respectively detail HNA security policies as well | |||
well as DNSSEC compliance within the home network. | as DNSSEC compliance within the home network. | |||
Section 12 discusses how renumbering should be handled. | Section 12 discusses how renumbering should be handled. | |||
Finally, Section 13 and Section 14 respectively discuss privacy and | Finally, Sections 13 and 14 respectively discuss privacy and security | |||
security considerations when outsourcing the Public Homenet Zone. | considerations when outsourcing the Public Homenet Zone. | |||
The appendices discuss several management (see Section 10) | The appendices discuss the following aspects: management (see | |||
provisioning (see Section 10), configurations (see Appendix B) and | Section 10), provisioning (see Section 10), configurations (see | |||
deployment (see Section 4 and Appendix C) aspects. | Appendix B), and deployment (see Section 4 and Appendix C). | |||
2. Terminology | 2. Terminology | |||
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 BCP | |||
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
Customer Premises Equipment: (CPE) is a router providing | Customer Premises Equipment (CPE): A router providing connectivity | |||
connectivity to the home network. | to the home network. | |||
Homenet Zone: is the DNS zone for use within the boundaries of the | Homenet Zone: The DNS zone for use within the boundaries of the home | |||
home network: 'home.arpa' (see [RFC8375]). This zone is not | network: "home.arpa" (see [RFC8375]). This zone is not considered | |||
considered public and is out of scope for this document. | public and is out of scope for this document. | |||
Registered Homenet Domain: is the domain name that is associated | Registered Homenet Domain: The domain name that is associated with | |||
with the home network. A given home network may have multiple | the home network. A given home network may have multiple | |||
Registered Homenet Domain. | Registered Homenet Domains. | |||
Public Homenet Zone: contains the names in the home network that are | Public Homenet Zone: Contains the names in the home network that are | |||
expected to be publicly resolvable on the Internet. A home | expected to be publicly resolvable on the Internet. A home | |||
network can have multiple Public Homenet Zones. | network can have multiple Public Homenet Zones. | |||
Homenet Naming Authority(HNA): is a function responsible for | Homenet Naming Authority (HNA): A function responsible for managing | |||
managing the Public Homenet Zone. This includes populating the | the Public Homenet Zone. This includes populating the Public | |||
Public Homenet Zone, signing the zone for DNSSEC, as well as | Homenet Zone, signing the zone for DNSSEC, as well as managing the | |||
managing the distribution of that Homenet Zone to the DNS | distribution of that Homenet Zone to the DOI. | |||
Outsourcing Infrastructure (DOI). | ||||
DNS Outsourcing Infrastructure (DOI): is the infrastructure | DNS Outsourcing Infrastructure (DOI): The infrastructure responsible | |||
responsible for receiving the Public Homenet Zone and publishing | for receiving the Public Homenet Zone and publishing it on the | |||
it on the Internet. It is mainly composed of a Distribution | Internet. It is mainly composed of a Distribution Manager and | |||
Manager and Public Authoritative Servers. | Public Authoritative Servers. | |||
Public Authoritative Servers: are the authoritative name servers for | Public Authoritative Servers: The authoritative name servers for the | |||
the Public Homenet Zone. Name resolution requests for the | Public Homenet Zone. Name resolution requests for the Registered | |||
Registered Homenet Domain are sent to these servers. Some DNS | Homenet Domain are sent to these servers. Some DNS operators | |||
operators would refer to these as public secondaries, and for | refer to these as public secondaries, and higher resiliency | |||
higher resiliency networks, are often implemented in an anycast | networks are often implemented in an anycast fashion. | |||
fashion. | ||||
Homenet Authoritative Servers: are authoritative name servers for | Homenet Authoritative Servers: The authoritative name servers for | |||
the Homenet Zone within the Homenet network itself. These are | the Homenet Zone within the Homenet network itself. These are | |||
sometimes called the hidden primary servers. | sometimes called "hidden primary servers". | |||
Distribution Manager (DM): is the (set of) server(s) to which the | Distribution Manager (DM): The server (or set of servers) that the | |||
HNA synchronizes the Public Homenet Zone, and which then | HNA synchronizes the Public Homenet Zone to and that then | |||
distributes the relevant information to the Public Authoritative | distributes the relevant information to the Public Authoritative | |||
Servers. This server has been historically known as the | Servers. This server has been historically known as the | |||
Distribution Master. | Distribution Master. | |||
Public Homenet Reverse Zone: The reverse zone file associated with | Public Homenet Reverse Zone: The reverse zone file associated with | |||
the Public Homenet Zone. | the Public Homenet Zone. | |||
Reverse Public Authoritative Servers: equivalent to Public | Reverse Public Authoritative Servers: These are equivalent to Public | |||
Authoritative Servers specifically for reverse resolution. | Authoritative Servers, specifically for reverse resolution. | |||
Reverse Distribution Manager: equivalent to Distribution Manager | Reverse Distribution Manager: This is equivalent to the Distribution | |||
specifically for reverse resolution. | Manager, specifically for reverse resolution. | |||
Homenet DNS(SEC) Resolver: a resolver that performs a DNS(SEC) | DNS Resolver: A resolver that performs a DNS resolution on the | |||
Internet for the Public Homenet Zone. The resolution is performed | ||||
by requesting the Public Authoritative Servers. While the | ||||
resolver does not necessarily perform DNSSEC resolutions, it is | ||||
RECOMMENDED that DNSSEC is enabled. | ||||
Note that when "DNS Resolver" is used in this document, it refers | ||||
to "DNS or DNSSEC Resolver". | ||||
Homenet DNS Resolver: A resolver that performs a DNS or DNSSEC | ||||
resolution on the home network for the Public Homenet Zone. The | resolution on the home network for the Public Homenet Zone. The | |||
resolution is performed requesting the Homenet Authoritative | resolution is performed by requesting the Homenet Authoritative | |||
Servers. | Servers. | |||
DNS(SEC) Resolver: a resolver that performs a DNS resolution on the | ||||
Internet for the Public Homenet Zone. The resolution is performed | ||||
requesting the Public Authoritative Servers. | ||||
3. Selecting Names and Addresses to Publish | 3. Selecting Names and Addresses to Publish | |||
While this document does not create any normative mechanism to select | While this document does not create any normative mechanism to select | |||
the names to publish, this document anticipates that the home network | the names to publish, it does anticipate that the home network | |||
administrator (a human being), will be presented with a list of | administrator (a human being) will be presented with a list of | |||
current names and addresses either directly on the HNA or via another | current names and addresses either directly on the HNA or via another | |||
device such as a smartphone. | device such as a smartphone. | |||
The administrator would mark which devices and services (by name), | The administrator will mark which devices and services (by name) are | |||
are to be published. The HNA would then collect the IP address(es) | to be published. The HNA will then collect the IP address(es) | |||
associated with that device or service, and put the name into the | associated with that device or service and put the name into the | |||
Public Homenet Zone. The address of the device or service can be | Public Homenet Zone. The address of the device or service can be | |||
collected from a number of places: mDNS [RFC6762], DHCP [RFC8415], | collected from a number of places: Multicast DNS (mDNS) [RFC6762], | |||
UPnP, PCP [RFC6887], or manual configuration. | DHCP [RFC8415], Universal Plug and Play (UPnP), the Port Control | |||
Protocol (PCP) [RFC6887], or manual configuration. | ||||
A device or service SHOULD have Global Unicast Addresses (GUA) (IPv6 | A device or service SHOULD have Global Unicast Addresses (GUAs) (IPv6 | |||
[RFC3787] or IPv4), but MAY also have Unique Local IPv6 Addresses | [RFC3587] or IPv4) but MAY also have IPv6 Unique Local Addresses | |||
(ULA) [RFC4193], IPv6-Link-Local addresses[RFC4291][RFC7404], IPv4- | (ULAs) [RFC4193], IPv6 Link-Local Addresses (LLAs) [RFC4291] | |||
Link-Local Addresses [RFC3927] (LLA), and finally, private IPv4 | [RFC7404], IPv4 LLAs [RFC3927], and private IPv4 addresses [RFC1918]. | |||
addresses [RFC1918]. | ||||
Of these the link-local are almost never useful for the Public Zone, | Of these, the LLAs are almost never useful for the Public Zone and | |||
and should be omitted. | should be omitted. | |||
The IPv6 ULA and the private IPv4 addresses may be useful to publish, | The IPv6 ULA and private IPv4 addresses may be useful to publish, if | |||
if the home network environment features a VPN that would allow the | the home network environment features a VPN that would allow the home | |||
home owner to reach the network. RFC1918 addresses in public zones | owner to reach the network. [RFC1918] addresses in public zones are | |||
are generally filtered out by many DNS servers as they are considered | generally filtered out by many DNS servers as they are considered | |||
rebind attacks [REBIND]. | rebind attacks [REBIND]. | |||
In general, one expects the GUA to be the default address to be | In general, one expects the GUA to be the default address to be | |||
published. A direct advantage of enabling local communication is to | published. A direct advantage of enabling local communication is to | |||
enable communications even in case of Internet disruption. | enable communications even in case of Internet disruption. Since | |||
Since communications are established with names which remain a global | communications are established with names that remain a global | |||
identifier, the communication can be protected (at the very least | identifier, the communication can be protected (at the very least | |||
with integrity protection) by TLS the same way it is protected on the | with integrity protection) by TLS the same way it is protected on the | |||
global Internet - using certificates. | global Internet -- by using certificates. | |||
4. Envisioned deployment scenarios | 4. Envisioned Deployment Scenarios | |||
A number of deployment scenarios have been envisioned, this section | A number of deployment scenarios have been envisioned; this section | |||
aims at providing a brief description. The use cases are not | aims at providing a brief description. The use cases are not | |||
limitations and this section is not normative. | limitations, and this section is not normative. | |||
The main difference between the various deployments concerns the | The main difference between the various deployments concerns the | |||
provisioning of the HNA - that is how it is configured to outsource | provisioning of the HNA -- that is, how it is configured to outsource | |||
the Public Homenet Zone to the DOI - as well as how the Public | the Public Homenet Zone to the DOI -- as well as how the Public | |||
Homenet Zone is being provisioned before being outsourced. | Homenet Zone is being provisioned before being outsourced. In both | |||
In both cases, these configuration aspects are out of the scope of | cases, these configuration aspects are out of the scope of this | |||
the document. | document. | |||
Provisioning the configuration related to the DOI is expected to be | Provisioning the configuration related to the DOI is expected to be | |||
automated as much as possible and require as little as possible | automated as much as possible and require interaction with the end | |||
interaction with the end user. | user as little as possible. Zero configuration can only be achieved | |||
Zero configuration can only be achieved under some circumstances and | under some circumstances, and [RFC9527] provides one such example | |||
[I-D.ietf-homenet-naming-architecture-dhc-options] provides one such | under the assumption that the ISP provides the DOI. Section 4.1 | |||
example under the assumption the ISP provides the DOI. Section 4.1 | describes another variant where the Customer Premises Equipment (CPE) | |||
describes another variant where the CPE is provided preconfigured | is provided preconfigured with the DOI. Section 4.2 describes how an | |||
with the DOI. Section 4.2 describes how an agnostic CPE may be | agnostic CPE may be configured by the home network administrator. Of | |||
configured by the home network administrator. Of course even in this | course even in this case, the configuration can leverage mechanisms | |||
case, the configuration can leverage mechanisms to prevent the end | to prevent the end user from manually entering all information. | |||
user manually entering all information. | ||||
On the other hand, provisioning the Public Homenet Zone needs to | On the other hand, provisioning the Public Homenet Zone needs to | |||
combine the ability to closely reflect what the end user wishes to | combine the ability to closely reflect what the end user wishes to | |||
publish on the Internet while easing such interaction. The HNA may | publish on the Internet while easing such interaction. The HNA may | |||
implement such interactions using Web GUI or specific mobile | implement such interactions using web-based GUIs or specific mobile | |||
applications. | applications. | |||
With the CPE configured with the DOI, the HNA contacts the DOI to | With the CPE configured with the DOI, the HNA contacts the DOI to | |||
build a template for the Public Homenet Zone, and then provision the | build a template for the Public Homenet Zone and then provisions the | |||
Public Homenet Zone. Once the Public Homenet Zone is built, the HNA | Public Homenet Zone. Once the Public Homenet Zone is built, the HNA | |||
strats synchronizing it with the DOI on the Synchronization channel. | starts synchronizing it with the DOI on the Synchronization Channel. | |||
4.1. CPE Vendor | 4.1. CPE Vendor | |||
A specific vendor with specific relations with a registrar or a | A specific vendor that has specific relations with a registrar or a | |||
registry may sell a CPE that is provisioned with a domain name. Such | registry may sell a CPE that is provisioned with a domain name. Such | |||
a domain name is probably not human friendly, and may consist of some | a domain name is probably not human friendly and may consist of some | |||
kind of serial number associated with the device being sold. | kind of serial number associated with the device being sold. | |||
One possible scenario is that the vendor provisions the HNA with a | One possible scenario is that the vendor provisions the HNA with a | |||
private key, with an associated certificate used for the mutual TLS | private key with an associated certificate used for the mutual TLS | |||
authentication. Note that these keys are not expected to be used for | authentication. Note that these keys are not expected to be used for | |||
DNSSEC signing. | DNSSEC signing. | |||
Instead these keys are solely used by the HNA for the authentication | Instead, these keys are solely used by the HNA for the authentication | |||
to the DM. Normally the keys should be necessary and sufficient to | to the DM. Normally, the keys are necessary and sufficient to | |||
proceed to the authentication. | proceed to the authentication. | |||
When the home network owner plugs in the CPE at home, the relation | When the home network owner plugs in the CPE at home, the relation | |||
between HNA and DM is expected to work out-of-the-box. | between the HNA and DM is expected to work out of the box. | |||
4.2. Agnostic CPE | 4.2. Agnostic CPE | |||
A CPE that is not preconfigured may also use the protocol defined in | A CPE that is not preconfigured may also use the protocol defined in | |||
this document but some configuration steps will be needed. | this document, but some configuration steps will be needed. | |||
1. The owner of the home network buys a domain name from a | 1. The owner of the home network buys a domain name from a registrar | |||
registrar, and as such creates an account on that registrar | and, as such, creates an account on that registrar. | |||
2. the registrar may also be providing the outsourcing | 2. The registrar may provide the outsourcing infrastructure, or the | |||
infrastructure or the home network may need to create a specific | home network may need to create a specific account on the | |||
account on the outsourcing infrastructure. | outsourcing infrastructure. | |||
* If the DOI is the DNS Registrar, it has by design a proof of | * If the DOI is the DNS Registrar, it has by design a proof of | |||
ownership of the domain name by the homenet owner. In this case, | ownership of the domain name by the Homenet owner. In this case, | |||
it is expected the DOI provides the necessary parameters to the | it is expected that the DOI provides the necessary parameters to | |||
home network owner to configure the HNA. One potential mechanism | the home network owner to configure the HNA. One potential | |||
to provide the parameters would be to provide the user with a JSON | mechanism to provide the parameters would be to provide the user | |||
object which they can copy paste into the CPE - such as described | with a JSON object that they can copy and paste into the CPE, such | |||
in Appendix B. But, what matters to infrastructure is that the | as described in Appendix B. But what matters to the | |||
HNA is able to authenticate itself to the DOI. | infrastructure is that the HNA is able to authenticate itself to | |||
the DOI. | ||||
* If the DOI is not the DNS Registrar, then the proof of ownership | * If the DOI is not the DNS Registrar, then the proof of ownership | |||
needs to be established using some other protocol. ACME [RFC8555] | needs to be established using some other protocol. Automatic | |||
is one protocol that would allow an owner of an existing domain | Certificate Management Environment (ACME) [RFC8555] is one | |||
name to prove their ownership (but requires they have DNS already | protocol that would allow an owner of an existing domain name to | |||
setup!) There are other ways such as putting a DOI generated TXT | prove their ownership (but it requires that they have DNS already | |||
record, or web site contents, as championed by entities like | set up!). There are other ways to establish proof such as | |||
Google's Sitemaster and Postmaster protocols. | providing a DOI-generated TXT record, or web site contents, as | |||
[I-D.ietf-dnsop-domain-verification-techniques] describes a few | championed by entities like Google's Sitemaster and Postmaster | |||
ways ownership or control of a domain can be achieved. | protocols. [DOMAIN-VALIDATION] describes a few ways ownership or | |||
control of a domain can be achieved. | ||||
5. Architecture Description | 5. Architecture Description | |||
This section provides an overview of the architecture for outsourcing | This section provides an overview of the architecture for outsourcing | |||
the authoritative naming service from the HNA to the DOI. As a | the authoritative naming service from the HNA to the DOI. As a | |||
consequence, this prevents HNA to handle the DNS traffic from the | consequence, this prevents HNA from handling the DNS traffic from the | |||
Internet associated with the resolution of the Homenet Zone. | Internet that is associated with the resolution of the Homenet Zone. | |||
The device assigned zone or user configurable zone to use as the | The device-assigned zone or user-configurable zone that is used as | |||
domain to publicly serve hostnames in the home network is called the | the domain to publicly serve hostnames in the home network is called | |||
Public Homenet Zone. In this document, "myhome.example" is used as | the Public Homenet Zone. In this document, "myhome.example" is used | |||
the example for an enduser owned domain configured as Public Homenet | as the example for an end-user-owned domain configured as a Public | |||
Zone. | Homenet Zone. | |||
More specifically, DNS resolution for the Public Homenet Zone (here | More specifically, DNS resolution for the Public Homenet Zone (here | |||
myhome.example) from Internet DNSSEC resolvers is handled by the DOI | "myhome.example") from Internet DNSSEC resolvers is handled by the | |||
as opposed to the HNA. The DOI benefits from a cloud infrastructure | DOI as opposed to the HNA. The DOI benefits from a cloud | |||
while the HNA is dimensioned for home network and as such likely | infrastructure while the HNA is dimensioned for a home network and, | |||
unable to support any load. In the case the HNA is a CPE, | as such, is likely unable to support any load. In the case where the | |||
outsourcing to the DOI reduces the attack surface of the home network | HNA is a CPE, outsourcing to the DOI reduces the attack surface of | |||
to DDoS for example. Of course the DOI needs to be informed | the home network to DDoS, for example. Of course, the DOI needs to | |||
dynamically about the content of myhome.example. The description of | be informed dynamically about the content of myhome.example. The | |||
such a synchronization mechanism is the purpose of this document. | description of such a synchronization mechanism is the purpose of | |||
this document. | ||||
Note that Appendix B shows necessary parameters to configure the HNA. | Note that Appendix B shows the necessary parameters to configure the | |||
HNA. | ||||
5.1. Architecture Overview | 5.1. Architecture Overview | |||
.----------------------------. .-----------------------------. | .----------------------------. .-----------------------------. | |||
| Home Network | | Internet | | | Home Network | | Internet | | |||
| .-----------------------. | Control | .-----------------------. | | | .-----------------------. | Control | .-----------------------. | | |||
| | HNA | | Channel | | DOI | | | | | HNA | | Channel | | DOI | | | |||
| | (hidden primary) |<------------->| (hidden secondary) | | | | | (hidden primary) |<------------->| (hidden secondary) | | | |||
| | | | DNSUPD | | Distribution Manager | | | | | | | DNSUPD | | Distribution Manager | | | |||
| | .-------------------. | | | | | | | | | .-------------------. | | | | | | | |||
| | | Public Homenet | | | | | .-------------------.| | | | | | Public Homenet | | | | | .-------------------.| | | |||
| | | Zone |<------------------>| Public Homenet Zo || | | | | | Zone |<------------------>|Public Homenet Zone|| | | |||
| | | myhome.example | | |Synchron-| | | myhome.example || | | | | | myhome.example | | |Synchron-| | | myhome.example || | | |||
| | '-------------------' | | ization | | '-------------------'| | | | | '-------------------' | |ization | | '-------------------'| | | |||
| '-----------------------' |Channel | | | | | | | '-----------------------' |Channel | | | | | | |||
| ^ | AXFR | | | | | | | ^ | AXFR | | | | | | |||
| | | | | v | | | | | | | | v | | | |||
| .-----------------------. | | |.---------------------.| | | | .-----------------------. | | |.---------------------.| | | |||
| | Homenet Authoritative | | | || Public Authoriative || | | | | Homenet Authoritative | | | || Public Authoritative|| | | |||
| | Server | | | || (secondary) Servers || | | | | Server | | | || (secondary) Servers || | | |||
| | + myhome.example | | | || + myhome.example || | | | | + myhome.example | | | || + myhome.example || | | |||
| | + home.arpa | | | || + x.y.z.ip6.arpa || | | | | + home.arpa | | | || + x.y.z.ip6.arpa || | | |||
| | + x.y.z.ip6.arpa | | | || || | | | | + x.y.z.ip6.arpa | | | || || | | |||
| '-----------------------' | | || || | | | '-----------------------' | | || || | | |||
| | ^ | | |'---------------------'| | | | | ^ | | |'---------------------'| | | |||
| | | | | | ^ | | | | | | | | | | ^ | | | | |||
| | | | | '--|------------|-------' | | | | | | | '--|------------|-------' | | |||
| v | | | | v | | | v | | | | v | | |||
| .----------------------. | | .------------------------. | | | .----------------------. | | .------------------------. | | |||
| | Homenet Resolver | | | | Internet Resolvers | | | | | Homenet DNS Resolver | | | | Internet Resolvers | | | |||
| '----------------------' | | '------------------------' | | | '----------------------' | | '------------------------' | | |||
| | | | | | | | | | |||
'----------------------------' | | | '----------------------------' | | | |||
'-----------------------------' | '-----------------------------' | |||
Figure 2: Homenet Naming Architecture | Figure 2: Homenet Naming Architecture | |||
Figure 2 illustrates the architecture where the HNA outsources the | Figure 2 illustrates the architecture where the HNA outsources the | |||
publication of the Public Homenet Zone to the DOI. The DOI will | publication of the Public Homenet Zone to the DOI. The DOI will | |||
serve every DNS request of the Public Homenet Zone coming from | serve every DNS request of the Public Homenet Zone coming from | |||
outside the home network. When the request is coming within the home | outside the home network. When the request is coming from within the | |||
network, the resolution is expected to be handled by the Homenet | home network, the resolution is expected to be handled by the Homenet | |||
Resolver as detailed in further details below. | DNS Resolver as further detailed below. | |||
In this example, The Public Homenet Zone is identified by the | In this example, the Public Homenet Zone is identified by the | |||
Registered Homenet Domain name -- myhome.example. This diagram also | Registered Homenet Domain name "myhome.example". This diagram also | |||
shows a reverse IPv6 map being hosted. | shows a reverse IPv6 map being hosted. | |||
The ".local" as well as ".home.arpa" are explicitly not considered as | ".local" and ".home.arpa" are explicitly not considered Public | |||
Public Homenet zones and represented as a Homenet Zone in Figure 2. | Homenet Zones; therefore, they are represented as a Homenet Zone in | |||
They are resolved locally, but not published as they are local | Figure 2. They are resolved locally but are not published because | |||
content. | they are considered local content. | |||
It is RECOMMENDED the HNA implements DNSSEC, in which case the HNA | It is RECOMMENDED that the HNA implements DNSSEC, in which case the | |||
MUST signs the Public Homenet Zone with DNSSEC. | HNA MUST sign the Public Homenet Zone with DNSSEC. | |||
The HNA handles all operations and keying material required for | The HNA handles all operations and keying material required for | |||
DNSSEC, so there is no provision made in this architecture for | DNSSEC, so there is no provision made in this architecture for | |||
transferring private DNSSEC related keying material between the HNA | transferring private DNSSEC-related keying material between the HNA | |||
and the DM. | and the DM. | |||
Once the Public Homenet Zone has been built, the HNA communicates and | Once the Public Homenet Zone has been built, the HNA communicates and | |||
synchronizes it with the DOI using a primary/secondary setting as | synchronizes it with the DOI using a primary/secondary setting as | |||
depicted in Figure 2. The HNA acts as a stealth server (see | depicted in Figure 2. The HNA acts as a stealth server (see | |||
[RFC8499]) while the DM behaves as a hidden secondary. It is | [RFC8499]) while the DM behaves as a hidden secondary. It is | |||
responsible for distributing the Public Homenet Zone to the multiple | responsible for distributing the Public Homenet Zone to the multiple | |||
Public Authoritative Servers instances that DOI is responsible for. | Public Authoritative Server instances that DOI is responsible for. | |||
The DM has three communication channels: | The DM has three communication channels: | |||
* DM Control Channel (Section 6) to configure the HNA and the DOI. | * DM Control Channel (Section 6) to configure the HNA and the DOI. | |||
This includes necessary parameters to configure the primary/ | This includes necessary parameters to configure the primary/ | |||
secondary relation as well as some information provided by the DOI | secondary relation as well as some information provided by the DOI | |||
that needs to be included by the HNA in the Public Homenet Zone. | that needs to be included by the HNA in the Public Homenet Zone. | |||
* DM Synchronization Channel (Section 7) to synchronize the Public | * DM Synchronization Channel (Section 7) to synchronize the Public | |||
Homenet Zone on the HNA and on the DM with the appropriately | Homenet Zone on the HNA and on the DM with the appropriately | |||
configured primary/secondary. This is a zone transfer over | configured primary/secondary. This is a zone transfer over | |||
mutually authenticated TLS. | mutually authenticated TLS. | |||
* one or more Distribution Channels (Section 8) that distribute the | * One or more Distribution Channels (Section 8) that distribute the | |||
Public Homenet Zone from the DM to the Public Authoritative | Public Homenet Zone from the DM to the Public Authoritative | |||
Servers serving the Public Homenet Zone on the Internet. | Servers serving the Public Homenet Zone on the Internet. | |||
There might be multiple DM's, and multiple servers per DM. This | There might be multiple DMs and multiple servers per the DM. This | |||
document assumes a single DM server for simplicity, but there is no | document assumes a single DM server for simplicity, but there is no | |||
reason why each channel needs to be implemented on the same server or | reason why each channel needs to be implemented on the same server or | |||
use the same code base. | use the same code base. | |||
It is important to note that while the HNA is configured as an | It is important to note that while the HNA is configured as an | |||
authoritative server, it is not expected to answer DNS requests from | authoritative server, it is not expected to answer DNS requests from | |||
the _public_ Internet for the Public Homenet Zone. More | the _public_ Internet for the Public Homenet Zone. More | |||
specifically, the addresses associated with the HNA SHOULD NOT be | specifically, the addresses associated with the HNA SHOULD NOT be | |||
mentioned in the NS records of the Public Homenet zone, unless | mentioned in the NS records of the Public Homenet Zone, unless | |||
additional security provisions necessary to protect the HNA from | additional security provisions necessary to protect the HNA from | |||
external attack have been taken. | external attack have been taken. | |||
The DOI is also responsible for ensuring the DS record has been | The DOI is also responsible for ensuring the DS record has been | |||
updated in the parent zone. | updated in the parent zone. | |||
Resolution is performed by DNS(SEC) resolvers. When the resolution | Resolution is performed by DNS Resolvers. When the resolution is | |||
is performed outside the home network, the DNS(SEC) Resolver resolves | performed outside the home network, the DNS Resolver resolves the DS | |||
the DS record on the Global DNS and the name associated with the | record on the Global DNS and the name associated with the Public | |||
Public Homenet Zone (myhome.example) on the Public Authoritative | Homenet Zone (myhome.example) on the Public Authoritative Servers. | |||
Servers. | ||||
In order to provide resilience to the Public Homenet Zone in case of | In order to provide resilience to the Public Homenet Zone in case of | |||
WAN connectivity disruption, the Homenet DNS(SEC) Resolver MUST be | WAN connectivity disruption, the Homenet DNS Resolver MUST be able to | |||
able to perform the resolution on the Homenet Authoritative Servers. | perform the resolution on the Homenet Authoritative Servers. Note | |||
Note that the use of the Homenet resolver enhances privacy since the | that the use of the Homenet DNS Resolver enhances privacy since the | |||
user on the home network would no longer be leaking interactions with | user on the home network would no longer be leaking interactions with | |||
internal services to an external DNS provider and to an on-path | internal services to an external DNS provider and to an on-path | |||
observer. These servers are not expected to be mentioned in the | observer. These servers are not expected to be mentioned in the | |||
Public Homenet Zone, nor to be accessible from the Internet. As such | Public Homenet Zone nor to be accessible from the Internet. As such, | |||
their information as well as the corresponding signed DS record MAY | their information as well as the corresponding signed DS record MAY | |||
be provided by the HNA to the Homenet DNS(SEC) Resolvers, e.g., using | be provided by the HNA to the Homenet DNS Resolvers, e.g., by using | |||
HNCP [RFC7788] or a by configuring a trust anchor | the Home Networking Control Protocol (HNCP) [RFC7788] or by | |||
[I-D.ietf-dnsop-dnssec-validator-requirements]. Such configuration | configuring a trust anchor [DRO-RECS]. Such configuration is outside | |||
is outside the scope of this document. Since the scope of the | the scope of this document. Since the scope of the Homenet | |||
Homenet Authoritative Servers is limited to the home network, these | Authoritative Servers is limited to the home network, these servers | |||
servers are expected to serve the Homenet Zone as represented in | are expected to serve the Homenet Zone as represented in Figure 2. | |||
Figure 2. | ||||
5.2. Distribution Manager (DM) Communication Channels | 5.2. Distribution Manager (DM) Communication Channels | |||
This section details the DM channels, that is the Control Channel, | This section details the DM channels: the Control Channel, | |||
the Synchronization Channel and the Distribution Channel. | Synchronization Channel, and Distribution Channel. | |||
The Control Channel and the Synchronization Channel are the | The Control Channel and the Synchronization Channel are the | |||
interfaces used between the HNA and the DOI. The entity within the | interfaces used between the HNA and the DOI. The entity within the | |||
DOI responsible to handle these communications is the DM. | DOI responsible for handling these communications is the DM. | |||
Communications between the HNA and the DM MUST be protected and | Communications between the HNA and the DM MUST be protected and | |||
mutually authenticated. Section 6.6 discusses in more depth the | mutually authenticated. The different protocols that can be used for | |||
different security protocols that could be used to secure. | security are discussed in more depth in Section 6.6. | |||
The information exchanged between the HNA and the DM uses DNS | The information exchanged between the HNA and the DM uses DNS | |||
messages protected by DNS over TLS (DoT) [RFC7858]. This is | messages protected by DNS over TLS (DoT) [RFC7858]. This is | |||
configured identically to that described in [RFC9103], Section 9.3.3. | configured identically to that described in [RFC9103], Section 9.3.3. | |||
It is worth noting that both DM and HNA need to agree on a common | It is worth noting that both the DM and HNA need to agree on a common | |||
configuration to set up the synchronization channel as well as to | configuration in order to set up the Synchronization Channel and | |||
build and server a coherent Public Homenet Zone. As previously | build and serve a coherent Public Homenet Zone. As previously noted, | |||
noted, the visible NS records of the Public Homenet Zone (built by | the visible NS records of the Public Homenet Zone (built by the HNA) | |||
the HNA) remain pointing at the DOI's Public Authoritative Servers' | remain pointing at the IP address of the DOI's Public Authoritative | |||
IP address. Unless the HNA is able to support the traffic load, the | Servers. Unless the HNA is able to support the traffic load, the HNA | |||
HNA SHOULD NOT appear as a visible NS records of the Public Homenet | SHOULD NOT appear as a visible NS record of the Public Homenet Zone. | |||
Zone. In addition, and depending on the configuration of the DOI, | In addition, and depending on the configuration of the DOI, the DM | |||
the DM also needs to update the parent zone's NS, DS and associated A | also needs to update the parent zone's NS, DS, and associated A or | |||
or AAAA glue records. Refer to Section 6.2 for more details. | AAAA glue records. Refer to Section 6.2 for more details. | |||
This specification assumes: | This specification assumes: | |||
* the DM serves both the Control Channel and Synchronization Channel | * The DM serves both the Control Channel and Synchronization Channel | |||
on a single IP address, single port and using a single transport | on a single IP address, on a single port, and by using a single | |||
protocol. | transport protocol. | |||
* By default, the HNA uses a single IP address for both the Control | * By default, the HNA uses a single IP address for both the Control | |||
and Synchronization channel. However, the HNA MAY use distinct IP | and Synchronization channels; however, the HNA MAY use distinct IP | |||
addresses for the Control Channel and the Synchronization Channel | addresses for the Control Channel and the Synchronization Channel | |||
- see Section 7 and Section 6.3 for more details. | -- see Sections 7 and 6.3 for more details. | |||
The Distribution Channel is internal to the DOI and as such is not | The Distribution Channel is internal to the DOI and, as such, is not | |||
normatively defined by this specification. | normatively defined by this specification. | |||
6. Control Channel | 6. Control Channel | |||
The DM Control Channel is used by the HNA and the DOI to exchange | The DM Control Channel is used by the HNA and the DOI to exchange | |||
information related to the configuration of the delegation which | information related to the configuration of the delegation, which | |||
includes information to build the Public Homenet Zone (Section 6.1), | includes information to build the Public Homenet Zone (Section 6.1), | |||
information to build the DNSSEC chain of trust (Section 6.2) and | to build the DNSSEC chain of trust (Section 6.2), and to set the | |||
information to set the Synchronization Channel (Section 6.3). | Synchronization Channel (Section 6.3). | |||
Some information is carried from the DOI to the HNA, described in the | Some information is carried from the DOI to the HNA, as described in | |||
next section. The HNA updates the DOI with the the IP address on | the next section. The HNA updates the DOI with the IP address on | |||
which the zone is to be transferred using the synchronization | which the zone is to be transferred using the Synchronization | |||
channel. The HNA is always initiating the exchange in both | Channel. The HNA is always initiating the exchange in both | |||
directions. | directions. | |||
As such the HNA has a prior knowledge of the DM identity (via X509 | As such, the HNA has a prior knowledge of the DM identity (via an | |||
certificate), the IP address and port number to use and protocol to | X.509 certificate), the IP address and port number to use, and the | |||
establish a secure session. The DM acquires knowledge of the | protocol to establish a secure session. The DM acquires knowledge of | |||
identity of the HNA (X509 certificate) as well as the Registered | the identity of the HNA (X.509 certificate) as well as the Registered | |||
Homenet Domain. For more detail to see how this can be achieved, | Homenet Domain. For more detail on how this can be achieved, please | |||
please see Appendix A.1. | see Appendix A.1. | |||
6.1. Information to Build the Public Homenet Zone | 6.1. Building the Public Homenet Zone | |||
The HNA builds the Public Homenet Zone based on a template that is | The HNA builds the Public Homenet Zone based on a template that is | |||
returned by the DM to the HNA. Section 6.5 explains how this | returned by the DM to the HNA. Section 6.5 explains how this | |||
leverages the AXFR mechanism. | leverages the Authoritative Transfer (AXFR) mechanism. | |||
In order to build its zone completely, the HNA needs the names (and | In order to build its zone completely, the HNA needs the names (and | |||
possibly IP addresses) of the Public Authoritative Name Servers. | possibly IP addresses) of the Public Authoritative Name Servers. | |||
These are used to populate the NS records for the zone. All the | These are used to populate the NS records for the zone. All the | |||
content of the zone MUST be created by the HNA, because the zone is | content of the zone MUST be created by the HNA because the zone is | |||
DNSSEC signed. | DNSSEC signed. | |||
In addition, the HNA needs to know what to put into the MNAME of the | In addition, the HNA needs to know what to put into the MNAME of the | |||
SOA, and only the DOI knows what to put there. The DM MUST also | SOA, and only the DOI knows what to put there. The DM MUST also | |||
provide useful operational parameters such as other fields of SOA | provide useful operational parameters such as other fields of the SOA | |||
(SERIAL, RNAME, REFRESH, RETRY, EXPIRE and MINIMUM), however, the HNA | (SERIAL, RNAME, REFRESH, RETRY, EXPIRE, and MINIMUM); however, the | |||
is free to override these values based upon local configuration. For | HNA is free to override these values based upon local configuration. | |||
instance, an HNA might want to change these values if it thinks that | For instance, an HNA might want to change these values if it thinks | |||
a renumbering event is approaching. | that a renumbering event is approaching. | |||
As the information is necessary for the HNA to proceed and the | Because the information associated with the DM is necessary for the | |||
information is associated with the DM, this information exchange is | HNA to proceed, this information exchange is mandatory. | |||
mandatory. | ||||
The HNA then performs a DNS Update operation to the DOI, updating the | The HNA then performs a DNS Update operation to the DOI, updating the | |||
DOI with an NS, DS, A and AAAA records. These indicates where its | DOI with an NS, a DS, and A and AAAA records. These indicate where | |||
Synchronization Channel is. The DOI does not publish this NS record, | its Synchronization Channel is. The DOI does not publish this NS | |||
but uses it to perform zone transfers. | record but uses it to perform zone transfers. | |||
6.2. Information to build the DNSSEC chain of trust | 6.2. Building the DNSSEC Chain of Trust | |||
The HNA MUST provide the hash of the KSK via the DS RRset, so that | The HNA MUST provide the hash of the KSK via the DS RRset so that the | |||
the DOI can provide this value to the parent zone. A common | DOI can provide this value to the parent zone. A common deployment | |||
deployment use case is that the DOI is the registrar of the | use case is that the DOI is the registrar of the Registered Homenet | |||
Registered Homenet Domain and as such, its relationship with the | Domain; therefore, its relationship with the registry of the parent | |||
registry of the parent zone enables it to update the parent zone. | zone enables it to update the parent zone. When such relation | |||
When such relation exists, the HNA should be able to request the DOI | exists, the HNA should be able to request the DOI to update the DS | |||
to update the DS RRset in the parent zone. A direct update is | RRset in the parent zone. A direct update is especially necessary to | |||
especially necessary to initialize the chain of trust. | initialize the chain of trust. | |||
Though the HNA may also later directly update the values of the DS | Though the HNA may also directly update the values of the DS via the | |||
via the Control Channel, it is RECOMMENDED to use other mechanisms | Control Channel at a later time, it is RECOMMENDED to use other | |||
such as CDS and CDNSKEY [RFC7344] for transparent updates during key | mechanisms such as CDS and CDNSKEY [RFC7344] for transparent updates | |||
roll overs. | during key rollovers. | |||
As some deployments may not provide a DOI that will be able to update | As some deployments may not provide a DOI that will be able to update | |||
the DS in the parent zone, this information exchange is OPTIONAL. | the DS in the parent zone, this information exchange is OPTIONAL. | |||
By accepting the DS RR, the DM commits to advertise the DS to the | By accepting the DS RR, the DM commits to advertise the DS to the | |||
parent zone. On the other hand if the DM does not have the capacity | parent zone. On the other hand, if the DM does not have the capacity | |||
to advertise the DS to the parent zone, it indicates this by refusing | to advertise the DS to the parent zone, it indicates this by refusing | |||
the update to the DS RR. | the update to the DS RR. | |||
6.3. Information to set up the Synchronization Channel | 6.3. Setting Up the Synchronization Channel | |||
The HNA works as a hidden primary authoritative DNS server, while the | The HNA works as a hidden primary authoritative DNS server while the | |||
DM works like a secondary. As a result, the HNA needs to provide the | DM works like a secondary one. As a result, the HNA needs to provide | |||
IP address the DM should use to reach the HNA. | the IP address that the DM should use to reach the HNA. | |||
If the HNA detects that it has been renumbered, then it MUST use the | If the HNA detects that it has been renumbered, then it MUST use the | |||
Control Channel to update the DOI with the new IPv6 address it has | Control Channel to update the DOI with the new IPv6 address it has | |||
been assigned. | been assigned. | |||
The Synchronization Channel will be set between the new IPv6 (and | The Synchronization Channel will be set between the new IPv6 (and | |||
IPv4) address and the IP address of the DM. By default, the IP | IPv4) address and the IP address of the DM. By default, the IP | |||
address used by the HNA in the Control Channel is considered by the | address used by the HNA in the Control Channel is considered by the | |||
DM and the explicit specification of the IP by the HNA is only | DM, and the explicit specification of the IP by the HNA is only | |||
OPTIONAL. The transport channel (including port number) is the same | OPTIONAL. The transport channel (including the port number) is the | |||
as the one used between the HNA and the DM for the Control Channel. | same as the one used between the HNA and the DM for the Control | |||
Channel. | ||||
6.4. Deleting the delegation | 6.4. Deleting the Delegation | |||
The purpose of the previous sections were to exchange information in | The purpose of the previous sections is to exchange information in | |||
order to set a delegation. The HNA MUST also be able to delete a | order to set a delegation. The HNA MUST also be able to delete a | |||
delegation with a specific DM. | delegation with a specific DM. | |||
Section 6.5.4 explains how a DNS Update operation on the Control | Section 6.5.4 explains how a DNS Update operation on the Control | |||
Channel is used. | Channel is used. | |||
Upon an instruction of deleting the delegation, the DM MUST stop | Upon receiving the instruction to delete the delegation, the DM MUST | |||
serving the Public Homenet Zone. | stop serving the Public Homenet Zone. | |||
The decision to delete an inactive HNA by the DM is part of the | The decision to delete an inactive HNA by the DM is part of the | |||
commercial agreement between DOI and HNA. | commercial agreement between the DOI and HNA. | |||
6.5. Messages Exchange Description | 6.5. Message Exchange Description | |||
Multiple ways were considered on how the control information could be | Multiple ways were considered on how the control information could be | |||
exchanged between the HNA and the DM. | exchanged between the HNA and the DM. | |||
This specification defines a mechanism that re-uses the DNS zone | This specification defines a mechanism that reuses the DNS zone | |||
transfer format. Note that while information is provided using DNS | transfer format. Note that while information is provided using DNS | |||
exchanges, the exchanged information is not expected to be set in any | exchanges, the exchanged information is not expected to be set in any | |||
zone file, instead this information is used as commands between the | zone file; instead, this information is used as commands between the | |||
HNA and the DM. This was found to be simpler on the home router | HNA and the DM. This was found to be simpler on the home router | |||
side, as the HNA already has to have code to deal with all the DNS | side, as the HNA already has to have code to deal with all the DNS | |||
encodings/decodings. Inventing a new way to encode the DNS | encodings/decodings. Inventing a new way to encode the DNS | |||
information in, for instance, JSON, seemed to add complexity for no | information in, for instance, JSON seemed to add complexity for no | |||
return on investment. | return on investment. | |||
The Control Channel is not expected to be a long-term session. After | The Control Channel is not expected to be a long-term session. After | |||
a predefined timer - similar to those used for TCP - the Control | a predefined timer (similar to those used for TCP), the Control | |||
Channel is expected to be terminated - by closing the transport | Channel is expected to be terminated by closing the transport | |||
channel. The Control Channel MAY be re-opened at any time later. | channel. The Control Channel MAY be reopened at any later time. | |||
The use of a TLS session tickets [RFC8446], Section 4.6.1 is | The use of TLS session tickets (see [RFC8446], Section 4.6.1) is | |||
RECOMMENDED. | RECOMMENDED. | |||
The authentication of the channel MUST be based on certificates for | The authentication of the channel MUST be based on certificates for | |||
both the DM and each HNA. The DM may also create the initial | both the DM and each HNA. The DM may also create the initial | |||
configuration for the delegation zone in the parent zone during the | configuration for the delegation zone in the parent zone during the | |||
provisioning process. | provisioning process. | |||
6.5.1. Retrieving information for the Public Homenet Zone | 6.5.1. Retrieving Information for the Public Homenet Zone | |||
The information provided by the DM to the HNA is retrieved by the HNA | The information provided by the DM to the HNA is retrieved by the HNA | |||
with an AXFR exchange [RFC1034]. AXFR enables the response to | with an AXFR exchange [RFC1034]. AXFR enables the response to | |||
contain any type of RRsets. | contain any type of RRsets. | |||
To retrieve the necessary information to build the Public Homenet | To retrieve the necessary information to build the Public Homenet | |||
Zone, the HNA MUST send a DNS request of type AXFR associated with | Zone, the HNA MUST send a DNS request of type AXFR associated with | |||
the Registered Homenet Domain. | the Registered Homenet Domain. | |||
The zone that is returned by the DM is used by the HNA as a template | The zone that is returned by the DM is used by the HNA as a template | |||
to build its own zone. | to build its own zone. | |||
The zone template MUST contain a RRset of type SOA, one or multiple | The zone template MUST contain an RRset of type SOA, one or multiple | |||
RRset of type NS and zero or more RRset of type A or AAAA (if the NS | RRsets of type NS, and zero or more RRsets of type A or AAAA (if the | |||
are in-domain [RFC8499]). The zone template will include Time To | NS is in-domain [RFC8499]). The zone template will include Time-To- | |||
Live (TTL) values for each RR, and the HNA SHOULD take these as | Live (TTL) values for each RR, and the HNA SHOULD take these as | |||
suggested maximum values, but MAY use lower values for operational | suggested maximum values, but it MAY use lower values for operational | |||
reasons, such impending renumbering events. | reasons, such as for impending renumbering events. | |||
* The SOA RR indicates to the HNA the value of the MNAME of the | * The SOA RR indicates the value of the MNAME of the Public Homenet | |||
Public Homenet Zone. | Zone to the HNA. | |||
* The NAME of the SOA RR MUST be the Registered Homenet Domain. | * The NAME of the SOA RR MUST be the Registered Homenet Domain. | |||
* The MNAME value of the SOA RDATA is the value provided by the DOI | * The MNAME value of the SOA RDATA is the value provided by the DOI | |||
to the HNA. | to the HNA. | |||
* Other RDATA values (RNAME, REFRESH, RETRY, EXPIRE and MINIMUM) are | * Other RDATA values (RNAME, REFRESH, RETRY, EXPIRE, and MINIMUM) | |||
provided by the DOI as suggestions. | are provided by the DOI as suggestions. | |||
The NS RRsets carry the Public Authoritative Servers of the DOI. | The NS RRsets carry the Public Authoritative Servers of the DOI. | |||
Their associated NAME MUST be the Registered Homenet Domain. | Their associated NAME MUST be the Registered Homenet Domain. | |||
In addition to the considerations above about default TTL, the HNA | In addition to the considerations above about default TTL, the HNA | |||
SHOULD take care to not pick a TTL larger than the parent NS, based | SHOULD take care to not pick a TTL larger than the parent NS, based | |||
upon resolver's guide lines: [I-D.ietf-dnsop-ns-revalidation] and | upon the resolver's guidelines in [NS-REVALIDATION] and [DRO-RECS]. | |||
[I-D.ietf-dnsop-dnssec-validator-requirements]. The RRsets of Type A | The RRsets of Type A and AAAA MUST have their NAME matching the | |||
and AAAA MUST have their NAME matching the NSDNAME of one of the NS | NSDNAME of one of the NS RRsets. | |||
RRsets. | ||||
Upon receiving the response, the HNA MUST validate format and | Upon receiving the response, the HNA MUST validate the format and | |||
properties of the SOA, NS and A or AAAA RRsets. If an error occurs, | properties of the SOA, NS, and A or AAAA RRsets. If an error occurs, | |||
the HNA MUST stop proceeding and MUST log an error. Otherwise, the | the HNA MUST stop proceeding and MUST log an error. Otherwise, the | |||
HNA builds the Public Homenet Zone by setting the MNAME value of the | HNA builds the Public Homenet Zone by setting the MNAME value of the | |||
SOA as indicated by the SOA provided by the AXFR response. The HNA | SOA as indicated by the SOA provided by the AXFR response. The HNA | |||
MUST not exceed the values of NAME, REFRESH, RETRY, EXPIRE and | MUST NOT exceed the values of NAME, REFRESH, RETRY, EXPIRE, and | |||
MINIMUM of the SOA to those provided by the AXFR response. The HNA | MINIMUM of the SOA provided by the AXFR response. The HNA MUST | |||
MUST insert the NS and corresponding A or AAAA RRset in its Public | insert the NS and corresponding A or AAAA RRsets in its Public | |||
Homenet Zone. The HNA MUST ignore other RRsets. | Homenet Zone. The HNA MUST ignore other RRsets. | |||
If an error message is returned by the DM, the HNA MUST proceed as a | If an error message is returned by the DM, the HNA MUST proceed as a | |||
regular DNS resolution. Error messages SHOULD be logged for further | regular DNS resolution. Error messages SHOULD be logged for further | |||
analysis. If the resolution does not succeed, the outsourcing | analysis. If the resolution does not succeed, the outsourcing | |||
operation is aborted and the HNA MUST close the Control Channel. | operation is aborted and the HNA MUST close the Control Channel. | |||
6.5.2. Providing information for the DNSSEC chain of trust | 6.5.2. Providing Information for the DNSSEC Chain of Trust | |||
To provide the DS RRset to initialize the DNSSEC chain of trust the | To provide the DS RRset to initialize the DNSSEC chain of trust, the | |||
HNA MAY send a DNS update [RFC3007] message. | HNA MAY send a DNS update [RFC3007] message. | |||
The DNS update message is composed of a Header section, a Zone | The DNS update message is composed of a Header section, a Zone | |||
section, a Pre-requisite section, and Update section and an | section, a Prerequisite section, an Update section, and an additional | |||
additional section. The Zone section MUST set the ZNAME to the | section. The Zone section MUST set the ZNAME to the parent zone of | |||
parent zone of the Registered Homenet Domain - that is where the DS | the Registered Homenet Domain, which is where the DS records should | |||
records should be inserted. As described [RFC2136], ZTYPE is set to | be inserted. As described in [RFC2136], ZTYPE is set to SOA and | |||
SOA and ZCLASS is set to the zone's class. The Pre-requisite section | ZCLASS is set to the zone's class. The Prerequisite section MUST be | |||
MUST be empty. The Update section is a DS RRset with its NAME set to | empty. The Update section is a DS RRset with its NAME set to the | |||
the Registered Homenet Domain and the associated RDATA corresponds to | Registered Homenet Domain, and the associated RDATA corresponds to | |||
the value of the DS. The Additional Data section MUST be empty. | the value of the DS. The Additional Data section MUST be empty. | |||
Though the pre-requisite section MAY be ignored by the DM, this value | Though the Prerequisite section MAY be ignored by the DM, this value | |||
is fixed to remain coherent with a standard DNS update. | is fixed to remain coherent with a standard DNS update. | |||
Upon receiving the DNS update request, the DM reads the DS RRset in | Upon receiving the DNS update request, the DM reads the DS RRset in | |||
the Update section. The DM checks ZNAME corresponds to the parent | the Update section. The DM checks that ZNAME corresponds to the | |||
zone. The DM MUST ignore the Pre-requisite and Additional Data | parent zone. The DM MUST ignore the Prerequisite and Additional Data | |||
sections, if present. The DM MAY update the TTL value before | sections, if present. The DM MAY update the TTL value before | |||
updating the DS RRset in the parent zone. Upon a successful update, | updating the DS RRset in the parent zone. Upon a successful update, | |||
the DM should return a NOERROR response as a commitment to update the | the DM should return a NOERROR response as a commitment to update the | |||
parent zone with the provided DS. An error indicates the DM does not | parent zone with the provided DS. An error indicates that the DM | |||
update the DS, and the HNA needs to act accordingly or other method | does not update the DS, and the HNA needs to act accordingly; | |||
should be used by the HNA. | otherwise, another method should be used by the HNA. | |||
The regular DNS error message MUST be returned to the HNA when an | The regular DNS error message MUST be returned to the HNA when an | |||
error occurs. In particular a FORMERR is returned when a format | error occurs. In particular, a FORMERR is returned when a format | |||
error is found, this includes when unexpected RRSets are added or | error is found, including when unexpected RRsets are added or when | |||
when RRsets are missing. A SERVFAIL error is returned when a | RRsets are missing. A SERVFAIL error is returned when an internal | |||
internal error is encountered. A NOTZONE error is returned when | error is encountered. A NOTZONE error is returned when the Update | |||
update and Zone sections are not coherent, a NOTAUTH error is | and Zone sections are not coherent, and a NOTAUTH error is returned | |||
returned when the DM is not authoritative for the Zone section. A | when the DM is not authoritative for the Zone section. A REFUSED | |||
REFUSED error is returned when the DM refuses to proceed to the | error is returned when the DM refuses the configuration or performing | |||
configuration and the requested action. | the requested action. | |||
6.5.3. Providing information for the Synchronization Channel | 6.5.3. Providing Information for the Synchronization Channel | |||
The default IP address used by the HNA for the Synchronization | The default IP address used by the HNA for the Synchronization | |||
Channel is the IP address of the Control Channel. To provide a | Channel is the IP address of the Control Channel. To provide a | |||
different IP address, the HNA MAY send a DNS UPDATE message. | different IP address, the HNA MAY send a DNS UPDATE message. | |||
Similarly to the Section 6.5.2, the HNA MAY specify the IP address | Similar to what is described in Section 6.5.2, the HNA MAY specify | |||
using a DNS update message. The Zone section sets its ZNAME to the | the IP address using a DNS update message. The Zone section sets its | |||
parent zone of the Registered Homenet Domain, ZTYPE is set to SOA and | ZNAME to the parent zone of the Registered Homenet Domain, ZTYPE to | |||
ZCLASS is set to the zone's type. Pre-requisite is empty. The | SOA, and ZCLASS to the zone's type. Prerequisite is empty. The | |||
Update section is a RRset of type NS. The Additional Data section | Update section is an RRset of type NS. The Additional Data section | |||
contains the RRsets of type A or AAAA that designates the IP | contains the RRsets of type A or AAAA that designate the IP addresses | |||
addresses associated with the primary (or the HNA). | associated with the primary (or the HNA). | |||
The reason to provide these IP addresses is to keep them unpublished | The reason to provide these IP addresses is to keep them unpublished | |||
and prevent them to be resolved. It is RECOMMENDED the IP address of | and prevent them from being resolved. It is RECOMMENDED that the IP | |||
the HNA is randomly chosen to prevent it from being easily discovered | address of the HNA be randomly chosen to prevent it from being easily | |||
as well. | discovered as well. | |||
Upon receiving the DNS update request, the DM reads the IP addresses | Upon receiving the DNS update request, the DM reads the IP addresses | |||
and checks the ZNAME corresponds to the parent zone. The DM MUST | and checks that the ZNAME corresponds to the parent zone. The DM | |||
ignore a non-empty Pre-requisite section. The DM configures the | MUST ignore a non-empty Prerequisite section. The DM configures the | |||
secondary with the IP addresses and returns a NOERROR response to | secondary with the IP addresses and returns a NOERROR response to | |||
indicate it is committed to serve as a secondary. | indicate it is committed to serve as a secondary. | |||
Similarly to Section 6.5.2, DNS errors are used and an error | Similar to what is described in Section 6.5.2, DNS errors are used, | |||
indicates the DM is not configured as a secondary. | and an error indicates the DM is not configured as a secondary. | |||
6.5.4. HNA instructing deleting the delegation | 6.5.4. Initiating Deletion of the Delegation | |||
To instruct to delete the delegation the HNA sends a DNS UPDATE | To initiate the deletion of the delegation, the HNA sends a DNS | |||
Delete message. | UPDATE Delete message. | |||
The Zone section sets its ZNAME to the Registered Homenet Domain, the | The Zone section sets its ZNAME to the Registered Homenet Domain, the | |||
ZTYPE to SOA and the ZCLASS to zone's type. The Pre-requisite | ZTYPE to SOA, and the ZCLASS to the zone's type. The Prerequisite | |||
section is empty. The Update section is a RRset of type NS with the | section is empty. The Update section is an RRset of type NS with the | |||
NAME set to the Registered Domain Name. As indicated by [RFC2136] | NAME set to the Registered Domain Name. As indicated by [RFC2136], | |||
Section 2.5.2 the delete instruction is set by setting the TTL to 0, | Section 2.5.2, the delete instruction is initiated by setting TTL to | |||
the Class to ANY, the RDLENGTH to 0 and the RDATA MUST be empty. The | 0, CLASS to ANY, and RDLENGTH to 0, and RDATA MUST be empty. The | |||
Additional Data section is empty. | Additional Data section is empty. | |||
Upon receiving the DNS update request, the DM checks the request and | Upon receiving the DNS update request, the DM checks the request and | |||
removes the delegation. The DM returns a NOERROR response to | removes the delegation. The DM returns a NOERROR response to | |||
indicate the delegation has been deleted. Similarly to | indicate the delegation has been deleted. Similar to what is | |||
Section 6.5.2, DNS errors are used and an error indicates the | described in Section 6.5.2, DNS errors are used, and an error | |||
delegation has not been deleted. | indicates that the delegation has not been deleted. | |||
6.6. Securing the Control Channel | 6.6. Securing the Control Channel | |||
TLS [RFC8446]) MUST be used to secure the transactions between the DM | TLS [RFC8446] MUST be used to secure the transactions between the DM | |||
and the HNA and the DM and HNA MUST be mutually authenticated. The | and the HNA, and the DM and HNA MUST be mutually authenticated. The | |||
DNS exchanges are performed using DNS over TLS [RFC7858]. | DNS exchanges are performed using DNS over TLS [RFC7858]. | |||
The HNA may be provisioned by the manufacturer, or during some user- | The HNA may be provisioned by the manufacturer or during some user- | |||
initiated onboarding process, for example, with a browser, signing up | initiated onboarding process, for example, with a browser, by signing | |||
to a service provider, with a resulting OAUTH2 token to be provided | up to a service provider, and with a resulting OAuth 2.0 token to be | |||
to the HNA. Such a process may result in a passing of a settings | provided to the HNA. Such a process may result in a passing of a | |||
from a Registrar into the HNA through an http API interface. (This | settings from a registrar into the HNA through an http API interface. | |||
is not in scope) | (This is not in scope for this document.) | |||
When the HNA connects to the DM's control channel, TLS will be used, | When the HNA connects to the DM's Control Channel, TLS will be used, | |||
and the connection will be mutually authenticated. The DM will | and the connection will be mutually authenticated. The DM will | |||
authenticate the HNA's certificate based upon having participating in | authenticate the HNA's certificate based upon having participated in | |||
some provisioning process that is not standardized by this document. | some provisioning process that is not standardized by this document. | |||
The results of the provisioning process is a series of settings | The results of the provisioning process is a series of settings | |||
described in Appendix A.1. | described in Appendix A.1. | |||
The HNA will validate the DM's control channel certificate by doing | The HNA will validate the DM's Control Channel certificate by | |||
an [I-D.ietf-uta-rfc6125bis] DNS-ID check on the name. | performing a DNS-ID check on the name as described in [RFC9525]. | |||
In the future, other specifications may consider protecting DNS | In the future, other specifications may consider protecting DNS | |||
messages with other transport layers, among others, DNS over DTLS | messages with other transport layers such as DNS over DTLS [RFC8094], | |||
[RFC8094], or DNS over HTTPs (DoH) [RFC8484] or DNS over QUIC | DNS over HTTPS (DoH) [RFC8484], or DNS over QUIC [RFC9250]. | |||
[RFC9250]. | ||||
7. Synchronization Channel | 7. Synchronization Channel | |||
The DM Synchronization Channel is used for communication between the | The DM Synchronization Channel is used for communication between the | |||
HNA and the DM for synchronizing the Public Homenet Zone. Note that | HNA and the DM for synchronizing the Public Homenet Zone. Note that | |||
the Control Channel and the Synchronization Channel are by | the Control Channel and the Synchronization Channel are different | |||
construction different channels even though there they may use the | channels by construction even though they may use the same IP | |||
same IP address. Suppose the HNA and the DM are using a single IP | address. Suppose the HNA and the DM are using a single IP address | |||
address and let designate by XX. YYYYY and ZZZZZ the various ports | designated by XX, and YYYYY and ZZZZZ are the various ports involved | |||
involved in the communications. | in the communications. | |||
The Control Channel is between the HNA working as a client using port | The Control Channel is between | |||
number YYYYY (an ephemeral also commonly designated as high range | ||||
port) toward a service provided by the DM at port 853, when using | ||||
DoT. | ||||
On the other hand, the Synchronization Channel is set between the DM | * the HNA working as a client using port number YYYYY (an ephemeral | |||
working as a client using port ZZZZZ (another ephemeral port) toward | also commonly designated as a high range port) and | |||
a service provided by the HNA at port 853. | ||||
* a service provided by the DM at port 853, when using DoT. | ||||
On the other hand, the Synchronization Channel is between | ||||
* the DM working as a client using port ZZZZZ (another ephemeral | ||||
port) and | ||||
* a service provided by the HNA at port 853. | ||||
As a result, even though the same pair of IP addresses may be | As a result, even though the same pair of IP addresses may be | |||
involved the Control Channel and the Synchronization Channel are | involved, the Control Channel and the Synchronization Channel are | |||
always distinct channels. | always distinct channels. | |||
Uploading and dynamically updating the zone file on the DM can be | Uploading and dynamically updating the zone file on the DM can be | |||
seen as zone provisioning between the HNA (Hidden Primary) and the DM | seen as zone provisioning between the HNA (hidden primary server) and | |||
(Secondary Server). This is handled using the normal zone transfer | the DM (secondary server). This is handled using the normal zone | |||
mechanism involving AXFR/IXFR. | transfer mechanism involving the AXFR and Incremental Zone Transfer | |||
(IXFR). | ||||
Part of this zone update process involves the owner of the zone (the | Part of the process to update the zone involves the owner of the zone | |||
hidden primary, the HNA) sending a DNS Notify to the secondaries. In | (the hidden primary server, the HNA) sending a DNS Notify to the | |||
this situation the only destination that is known by the HNA is the | secondaries. In this situation, the only destination that is known | |||
DM's Control Channel, and so DNS notifies are sent over the Control | by the HNA is the DM's Control Channel, so DNS Notifies are sent over | |||
Channel, secured by a mutually authenticated TLS. | the Control Channel, secured by a mutually authenticated TLS. | |||
Please note that, DNS Notifies are not critical to normal operation, | Please note that DNS Notifies are not critical to normal operation, | |||
as the DM will be checking the zone regularly based upon SOA record | as the DM will be checking the zone regularly based upon SOA record | |||
comments. DNS Notifies do speed things up as they cause the DM to | comments. DNS Notifies do speed things up as they cause the DM to | |||
use the Synchronization channel to immediately do an SOA Query to | use the Synchronization Channel to immediately do an SOA query to | |||
detect any updates. If there are any changes then the DM immediately | detect any updates. If there are any changes, then the DM | |||
transfers the zone updates. | immediately transfers the zone updates. | |||
This specification standardizes the use of a primary / secondary | This specification standardizes the use of a primary/secondary | |||
mechanism [RFC1996] rather than an extended series of DNS update | mechanism [RFC1996] rather than an extended series of DNS update | |||
messages. The primary / secondary mechanism was selected as it | messages. The primary/secondary mechanism was selected as it scales | |||
scales better and avoids DoS attacks. As this AXFR runs over a TCP | better and avoids DoS attacks. Because this AXFR runs over a TCP | |||
channel secured by a mutually authenticated TLS, then DNS Update is | channel secured by a mutually authenticated TLS, the DNS update is | |||
just more complicated. | more complicated. | |||
Note that this document provides no standard way to distribute a DNS | Note that this document provides no standard way to distribute a DNS | |||
primary between multiple devices. As a result, if multiple devices | primary between multiple devices. As a result, if multiple devices | |||
are candidate for hosting the Hidden Primary, some specific | are candidates for hosting the hidden primary server, some specific | |||
mechanisms should be designed so the home network only selects a | mechanisms should be designed so the home network only selects a | |||
single HNA for the Hidden Primary. Selection mechanisms based on | single HNA for the hidden primary server. Selection mechanisms based | |||
HNCP [RFC7788] are good candidates for future work. | on HNCP [RFC7788] are good candidates for future work. | |||
7.1. Securing the Synchronization Channel | 7.1. Securing the Synchronization Channel | |||
The Synchronization Channel uses mutually authenticated TLS, as | The Synchronization Channel uses mutually authenticated TLS, as | |||
described by [RFC9103]. | described by [RFC9103]. | |||
There is a TLS client certificate used by the DM to authenticate | There is a TLS client certificate used by the DM to authenticate | |||
itself. The DM uses the same certificate which was configured into | itself. The DM uses the same certificate that was configured into | |||
the HNA for authenticating the Control Channel, but as a client | the HNA for authenticating the Control Channel, but as a client | |||
certificate rather than a server certificate. | certificate rather than a server certificate. | |||
[RFC9103] makes no requirements or recommendations on any extended | [RFC9103] makes no requirements or recommendations on any extended | |||
key usage flags for zone transfers, and this document adopts the view | key usage flags for zone transfers, and this document adopts the view | |||
that none should be required. and leave it up to [RFC9103] to get | that none should be required. Note that once an update to [RFC9103] | |||
updated for this document's normative reference to be considered | is published, this document's normative reference to [RFC9103] will | |||
updated as well. | be considered updated as well. | |||
For the TLS server certificate, the HNA uses the same certificate | For the TLS server certificate, the HNA uses the same certificate | |||
which it uses to authenticate itself to the DM for the Control | that it uses to authenticate itself to the DM for the Control | |||
Channel. | Channel. | |||
The HNA MAY use this certificate as the authorization for the zone | The HNA MAY use this certificate as the authorization for the zone | |||
transfer, or the HNA MAY have been configured with an Access Control | transfer, or the HNA MAY have been configured with an Access Control | |||
List that will determine if the zone transfer can proceed. This is a | List (ACL) that will determine if the zone transfer can proceed. | |||
local configuration option, as it is premature to determine which | This is a local configuration option as it is premature to determine | |||
will be operationally simpler. | which will be operationally simpler. | |||
When the HNA expects to do zone transfer authorization by certificate | When the HNA expects to do zone transfer authorization by certificate | |||
only, the HNA MAY still apply an ACL on inbound connection requests | only, the HNA MAY still apply an ACL on inbound connection requests | |||
to avoid load. In this case, the HNA MUST regularly check (via a DNS | to avoid load. In this case, the HNA MUST regularly check (via a DNS | |||
resolution) that the address(es) of the DM in the filter is still | resolution) the validity of the address(es) of the DM in the filter. | |||
valid. | ||||
8. DM Distribution Channel | 8. DM Distribution Channel | |||
The DM Distribution Channel is used for communication between the DM | The DM Distribution Channel is used for communication between the DM | |||
and the Public Authoritative Servers. The architecture and | and the Public Authoritative Servers. The architecture and | |||
communication used for the DM Distribution Channels are outside the | communication used for the DM Distribution Channels are outside the | |||
scope of this document, and there are many existing solutions | scope of this document, but there are many existing solutions | |||
available, e.g., rsync, DNS AXFR, REST, DB copy. | available, e.g., rsync, DNS AXFR, REST, and DB copy. | |||
9. HNA Security Policies | 9. HNA Security Policies | |||
The HNA as hidden primary processes only a limited message exchanges | The HNA, as the hidden primary server, processes only limited message | |||
on it's Internet facing interface. This should be enforced using | exchanges on its Internet-facing interface. This should be enforced | |||
security policies - to allow only a subset of DNS requests to be | using security policies to allow only a subset of DNS requests to be | |||
received by HNA. | received by HNA. | |||
The Hidden Primary Server on the HNA differs the regular | The hidden primary server on the HNA differs from the regular | |||
authoritative server for the home network due to: | authoritative server for the home network due to the following: | |||
Interface Binding: the Hidden Primary Server will almost certainly | Interface Binding: The hidden primary server will almost certainly | |||
listen on the WAN Interface, whereas a regular Homenet | listen on the WAN Interface, whereas a regular Homenet | |||
Authoritative Servers would listen on the internal home network | Authoritative Server will listen on the internal home network | |||
interface. | interface. | |||
Limited exchanges: the purpose of the Hidden Primary Server is to | Limited Exchanges: The purpose of the hidden primary server is to | |||
synchronize with the DM, not to serve any zones to end users, or | synchronize with the DM, not to serve any zones to end users or | |||
the public Internet. This results in a limited number of possible | the public Internet. This results in a limited number of possible | |||
exchanges (AXFR/IXFR) with a small number of IP addresses and an | exchanges (AXFR/IXFR) with a small number of IP addresses, and an | |||
implementation MUST enable filtering policies: it should only | implementation MUST enable filtering policies: it should only | |||
respond to queries that are required to do zone transfers. That | respond to queries that are required to do zone transfers. That | |||
list includes SOA queries and AXFR/IXFR queries. | list includes SOA queries and AXFR/IXFR queries. | |||
10. Public Homenet Reverse Zone | 10. Public Homenet Reverse Zone | |||
Public Homenet Reverse Zone works similarly to the Public Homenet | The Public Homenet Reverse Zone works similarly to the Public Homenet | |||
Zone. The main difference is that ISP that provides the IPv6 | Zone. The main difference is that the ISP that provides the IPv6 | |||
connectivity is likely also the owner of the corresponding IPv6 | connectivity is likely to also be the owner of the corresponding IPv6 | |||
reverse zone and administrating the Reverse Public Authoritative | reverse zone who administrates the Reverse Public Authoritative | |||
Servers. The configuration and the setting of the Synchronization | Servers. The configuration and the setting of the Synchronization | |||
Channel and Control Channel can largely be automated using DHCPv6 | Channel and Control Channel can largely be automated using DHCPv6 | |||
messages that are part of the IPv6 Prefix Delegation process. | messages that are a part of the IPv6 prefix delegation process. | |||
The Public Homenet Zone is associated with a Registered Homenet | The Public Homenet Zone is associated with a Registered Homenet | |||
Domain and the ownership of that domain requires a specific | Domain, and the ownership of that domain requires a specific | |||
registration from the end user as well as the HNA being provisioned | registration from the end user as well as the HNA being provisioned | |||
with some authentication credentials. Such steps are mandatory | with some authentication credentials. Such steps are mandatory | |||
unless the DOI has some other means to authenticate the HNA. Such | unless the DOI has some other means to authenticate the HNA. Such | |||
situation may occur, for example, when the ISP provides the Homenet | situation may occur, for example, when the ISP provides the Homenet | |||
Domain as well as the DOI. | Domain as well as the DOI. | |||
In this case, the HNA may be authenticated by the physical link | In this case, the HNA may be authenticated by the physical link | |||
layer, in which case the authentication of the HNA may be performed | layer, in which case the authentication of the HNA may be performed | |||
without additional provisioning of the HNA. While this may not be so | without additional provisioning of the HNA. While this may not be so | |||
common for the Public Homenet Zone, this situation is expected to be | common for the Public Homenet Zone, this situation is expected to be | |||
quite common for the Reverse Homenet Zone as the ISP owns the IP | quite common for the Reverse Homenet Zone as the ISP owns the IP | |||
address or IP prefix. | address or IP prefix. | |||
More specifically, a common case is that the upstream ISP provides | More specifically, a common case is that the upstream ISP provides | |||
the IPv6 prefix to the Homenet with a IA_PD [RFC8415] option and | the IPv6 prefix to the Homenet with an identity association for a | |||
manages the DOI of the associated reverse zone. | prefix delegation (IA_PD) option [RFC8415] and manages the DOI of the | |||
associated reverse zone. | ||||
This leaves place for setting up automatically the relation between | This leaves a place for setting up the relation between the HNA and | |||
HNA and the DOI as described in | DOI automatically as described in [RFC9527]. | |||
[I-D.ietf-homenet-naming-architecture-dhc-options]. | ||||
In the case of the reverse zone, the DOI authenticates the source of | In the case of the reverse zone, the DOI authenticates the source of | |||
the updates by IPv6 Access Control Lists. In the case of the reverse | the updates by IPv6 ACLs, and the ISP knows exactly what addresses | |||
zone, the ISP knows exactly what addresses have been delegated. The | have been delegated. Therefore, the HNA SHOULD always originate | |||
HNA SHOULD therefore always originate Synchronization Channel updates | Synchronization Channel updates from an IP address within the zone | |||
from an IP address within the zone that is being updated. | that is being updated. Exceptionally, the Synchronization Channel | |||
Exceptionally, the synchronization channel might be from a different | might be from a different zone delegated to the HNA (if there were | |||
zone delegated to the HNA (if there were multiple zones, or | multiple zones or renumbering events were in progress). | |||
renumbering events were in progress). | ||||
For example, if the ISP has assigned 2001:db8:f00d::/64 to the WAN | For example, if the ISP has assigned 2001:db8:f00d:1234::/64 to the | |||
interface (by DHCPv6, or PPP/RA), then the HNA should originate | WAN interface (by DHCPv6 or PPP with Router Advertisement (RA)), then | |||
Synchronization Channel updates from, for example, 2001:db8:f00d::2. | the HNA should originate Synchronization Channel updates from, for | |||
example, 2001:db8:f00d:1234::2. | ||||
An ISP that has delegated 2001:db8:aeae::/56 to the HNA via | If an ISP has delegated 2001:db8:aeae::/56 to the HNA via DHCPv6-PD, | |||
DHCPv6-PD, then HNA should originate Synchronization Channel updates | then the HNA should originate Synchronization Channel updates to an | |||
an IP within that subnet, such as 2001:db8:aeae:1::2. | IP address within that subnet, such as 2001:db8:aeae:1::2. | |||
With this relation automatically configured, the synchronization | With this relation automatically configured, the synchronization | |||
between the Home network and the DOI happens similarly as for the | between the Home network and the DOI happens in a similar way to the | |||
Public Homenet Zone described earlier in this document. | synchronization of the Public Homenet Zone described earlier in this | |||
document. | ||||
Note that for home networks connected to by multiple ISPs, each ISP | Note that for home networks connected to multiple ISPs, each ISP | |||
provides only the DOI of the reverse zones associated with the | provides only the DOI of the reverse zones associated with the | |||
delegated prefix. It is also likely that the DNS exchanges will need | delegated prefix. It is also likely that the DNS exchanges will need | |||
to be performed on dedicated interfaces as to be accepted by the ISP. | to be performed on dedicated interfaces to be accepted by the ISP. | |||
More specifically, the reverse zone associated with prefix 1 will not | More specifically, the reverse zone update associated with prefix 1 | |||
be possible to be performs by the HNA using an IP address that | cannot be performed by the HNA using an IP address that belongs to | |||
belongs to prefix 2. Such constraints does not raise major concerns | prefix 2. Such constraints do not raise major concerns for hot | |||
either for hot standby or load sharing configuration. | standby or load-sharing configuration. | |||
With IPv6, the reverse domain space for IP addresses associated with | With IPv6, the reverse domain space for IP addresses associated with | |||
a subnet such as ::/64 is so large that reverse zone may be | a subnet such as ::/64 is so large that the reverse zone may be | |||
confronted with scalability issues. How the reverse zone is | confronted with scalability issues. How the reverse zone is | |||
generated is out of scope of this document. [RFC8501] provides | generated is out of scope of this document. [RFC8501] provides | |||
guidance on how to address scalability issues. | guidance on how to address scalability issues. | |||
11. DNSSEC compliant Homenet Architecture | 11. DNSSEC-Compliant Homenet Architecture | |||
[RFC7368] in Section 3.7.3 recommends DNSSEC to be deployed on both | Section 3.7.3 of [RFC7368] recommends that DNSSEC be deployed on both | |||
the authoritative server and the resolver. | the authoritative server and the resolver. | |||
The resolver side is out of scope of this document, and only the | The resolver side is out of scope of this document, and only the | |||
authoritative part of the server is considered. Other documents such | authoritative part of the server is considered. Other documents such | |||
as [RFC5011] deal with continuous update of trust anchors required | as [RFC5011] deal with the continuous update of trust anchors | |||
for operation of a DNSSEC resolver. | required for operation of a DNSSEC Resolver. | |||
The HNA MUST DNSSEC sign the Public Homenet Zone and the Public | The Public Homenet Zone and the Public Reverse Zone MUST be DNSSEC | |||
Reverse Zone. | signed by the HNA. | |||
Secure delegation is achieved only if the DS RRset is properly set in | Secure delegation is achieved only if the DS RRset is properly set in | |||
the parent zone. Secure delegation can be performed by the HNA or | the parent zone. Secure delegation can be performed by the HNA or | |||
the DOIs and the choice highly depends on which entity is authorized | the DOIs, and the choice highly depends on which entity is authorized | |||
to perform such updates. Typically, the DS RRset is updated manually | to perform such updates. Typically, the DS RRset is updated manually | |||
through a registrar interface, and can be maintained with mechanisms | through a registrar interface and can be maintained with mechanisms | |||
such as CDS [RFC7344]. | such as CDS [RFC7344]. | |||
When the operator of the DOI is also the Registrar for the domain, | When the operator of the DOI is also the registrar for the domain, | |||
then it is a trivial matter for the DOI to initialize the relevant DS | then it is a trivial matter for the DOI to initialize the relevant DS | |||
records in the parent zone. In other cases, some other | records in the parent zone. In other cases, some other | |||
initialization will be required, and that will be specific to the | initialization will be required, and that will be specific to the | |||
infrastructure involved. It is beyond the scope of this document. | infrastructure involved. It is beyond the scope of this document. | |||
There may be some situations where the HNA is unable to arrange for | There may be some situations where the HNA is unable to arrange for | |||
secure delegation of the zones, but the HNA MUST still sign the | secure delegation of the zones, but the HNA MUST still sign the | |||
zones. | zones. | |||
12. Renumbering | 12. Renumbering | |||
During a renumbering of the home network, the HNA IP address may be | During a renumbering of the home network, the HNA IP address may be | |||
changed and the Public Homenet Zone will be updated by the HNA with | changed and the Public Homenet Zone will be updated by the HNA with | |||
new AAAA records. | new AAAA records. | |||
The HNA will then advertise to the DM via a NOTIFY on the Control | The HNA will then advertise to the DM via a NOTIFY on the Control | |||
Channel. The DM will need to note the new originating IP for the | Channel. The DM will need to note the new originating IP for the | |||
connection, and it will need to update it's internal database of | connection, and it will need to update its internal database of | |||
Synchronization Channels. A new zone transfer will occur with the | Synchronization Channels. A new zone transfer will occur with the | |||
new records for the resources that the HNA wishes to publish. | new records for the resources that the HNA wishes to publish. | |||
The remaining of the section provides recommendations regarding the | The remainder of the section provides recommendations regarding the | |||
provisioning of the Public Homenet Zone - especially the IP | provisioning of the Public Homenet Zone, especially the IP addresses. | |||
addresses. | ||||
Renumbering has been extensively described in [RFC4192] and analyzed | Renumbering has been extensively described in [RFC4192] and analyzed | |||
in [RFC7010] and the reader is expected to be familiar with them | in [RFC7010], and the reader is expected to be familiar with them | |||
before reading this section. In the make-before-break renumbering | before reading this section. In the make-before-break renumbering | |||
scenario, the new prefix is advertised, the network is configured to | scenario, the new prefix is advertised, and the network is configured | |||
prepare the transition to the new prefix. During a period of time, | to prepare the transition to the new prefix. During a period of | |||
the two prefixes old and new coexist, before the old prefix is | time, the two prefixes (old and new) coexist before the old prefix is | |||
completely removed. New resources records containing the new prefix | completely removed. New resource records containing the new prefix | |||
SHOULD be published, while the old resource records with the old | SHOULD be published, while the old resource records with the old | |||
prefixes SHOULD be withdrawn. If the HNA anticipates that period of | prefixes SHOULD be withdrawn. If the HNA anticipates that the period | |||
overlap is long (perhaps due to knowledge of router and DHCPv6 | of overlap will be long (perhaps due to the knowledge of router and | |||
lifetimes), it MAY publish the old prefixes with a significantly | DHCPv6 lifetimes), it MAY publish the old prefixes with a | |||
lower time to live. | significantly lower TTL. | |||
In break-before-make renumbering scenarios, including flash | In break-before-make renumbering scenarios, including flash | |||
renumbering scenarios [RFC8978], the old prefix becomes unuseable | renumbering scenarios [RFC8978], the old prefix becomes unusable | |||
before the new prefix is known or advertised. As explained in | before the new prefix is known or advertised. As explained in | |||
[RFC8978], some flash renumberings occur due to power cycling of the | [RFC8978], some flash renumberings occur due to power cycling of the | |||
HNA, where ISPs do not properly remember what prefixes have been | HNA, where ISPs do not properly remember what prefixes have been | |||
assigned to which user. | assigned to which user. | |||
An HNA that boots up MUST immediately use the Control Channel to | An HNA that boots up MUST immediately use the Control Channel to | |||
update the location for the Synchronization Channel. This is a | update the location for the Synchronization Channel. This is a | |||
reasonable thing to do on every boot, as the HNA has no idea how long | reasonable thing to do on every boot, as the HNA has no idea how long | |||
it has been offline, or if the (DNSSEC) zone has perhaps expired | it has been offline or if the (DNSSEC) zone has perhaps expired | |||
during the time the HNA was powered off. | during the time the HNA was powered off. | |||
The HNA will have a list of names that should be published, but it | The HNA will have a list of names that should be published, but it | |||
might not yet have IP addresses for those devices. This could be | might not yet have IP addresses for those devices. This could be | |||
because at the time of power on, the other devices are not yet | because at the time of power on, the other devices were not yet | |||
online. If the HNA is sure that the prefix has not changed, then it | online. If the HNA is sure that the prefix has not changed, then it | |||
should use the previously known addresses, with a very low TTL. | should use the previously known addresses, with a very low TTL. | |||
Although the new and old IP addresses may be stored in the Public | Although the new and old IP addresses may be stored in the Public | |||
Homenet Zone, it is RECOMMENDED that only the newly reachable IP | Homenet Zone, it is RECOMMENDED that only the newly reachable IP | |||
addresses be published. | addresses be published. | |||
Regarding the Public Homenet Reverse Zone, the new Public Homenet | Regarding the Public Homenet Reverse Zone, the new Public Homenet | |||
Reverse Zone has to be populated as soon as possible, and the old | Reverse Zone has to be populated as soon as possible, and the old | |||
Public Homenet Reverse Zone will be deleted by the owner of the zone | Public Homenet Reverse Zone will be deleted by the owner of the zone | |||
(and the owner of the old prefix which is usually the ISP) once the | (and the owner of the old prefix, which is usually the ISP) once the | |||
prefix is no longer assigned to the HNA. The ISP MUST ensure that | prefix is no longer assigned to the HNA. The ISP MUST ensure that | |||
the DNS cache has expired before re-assigning the prefix to a new | the DNS cache has expired before reassigning the prefix to a new home | |||
home network. This may be enforced by controlling the TTL values. | network. This may be enforced by controlling the TTL values. | |||
To avoid reachability disruption, IP connectivity information | To avoid reachability disruption, IP connectivity information | |||
provided by the DNS MUST be coherent with the IP in use. In our | provided by the DNS MUST be coherent with the IP in use. In our | |||
case, this means the old IP address MUST NOT be provided via the DNS | case, this means the old IP address MUST NOT be provided via the DNS | |||
when it is not reachable anymore. | when it is not reachable anymore. | |||
In the make-before-break scenario, it is possible to make the | In the make-before-break scenario, it is possible to make the | |||
transition seamless. Let T be the TTL associated with a RRset of the | transition seamless. Let T be the TTL associated with an RRset of | |||
Public Homenet Zone. Let Time_NEW be the time the new IP address | the Public Homenet Zone; Time_NEW be the time the new IP address | |||
replaces the old IP address in the Homenet Zone, and | replaces the old IP address in the Homenet Zone; and | |||
Time_OLD_UNREACHABLE the time the old IP will not be reachable | Time_OLD_UNREACHABLE be the time the old IP will not be reachable | |||
anymore. | anymore. | |||
In the case of the make-before-break, seamless reachability is | In the case of the make-before-break scenario, seamless reachability | |||
provided as long as Time_OLD_UNREACHABLE - T_NEW > (2 * T). If this | is provided as long as Time_OLD_UNREACHABLE - T_NEW > (2 * T). If | |||
is not satisfied, then devices associated with the old IP address in | this is not satisfied, then devices associated with the old IP | |||
the home network may become unreachable for 2 * T - | address in the home network may become unreachable for 2 * T - | |||
(Time_OLD_UNREACHABLE - Time_NEW). | (Time_OLD_UNREACHABLE - Time_NEW). | |||
In the case of a break-before-make, Time_OLD_UNREACHABLE = Time_NEW, | In the case of a break-before-make scenario, Time_OLD_UNREACHABLE = | |||
and the device may become unreachable up to 2 * T. Of course if | Time_NEW, and the device may become unreachable up to 2 * T. Of | |||
Time_NEW >= Time_OLD_UNREACHABLE, then then outage is not seamless. | course, if Time_NEW >= Time_OLD_UNREACHABLE, then the outage is not | |||
seamless. | ||||
13. Privacy Considerations | 13. Privacy Considerations | |||
Outsourcing the DNS Authoritative service from the HNA to a third | Outsourcing the DNS Authoritative service from the HNA to a third | |||
party raises a few privacy related concerns. | party raises a few privacy-related concerns. | |||
The Public Homenet Zone lists the names of services hosted in the | The Public Homenet Zone lists the names of services hosted in the | |||
home network. Combined with blocking of AXFR queries, the use of | home network. Combined with blocking of AXFR queries, the use of | |||
NSEC3 [RFC5155] (vs NSEC [RFC4034]) prevents an attacker from being | NSEC3 [RFC5155] (vs. NSEC [RFC4034]) prevents an attacker from being | |||
able to walk the zone, to discover all the names. However, recent | able to walk the zone to discover all the names. However, recent | |||
work [GPUNSEC3] or [ZONEENUM] have shown that the protection provided | work [GPUNSEC3] [ZONEENUM] has shown that the protection provided by | |||
by NSEC3 against dictionary attacks should be considered cautiously | NSEC3 against dictionary attacks should be considered cautiously, and | |||
and [RFC9276] provides guidelines to configure NSEC3 properly. In | [RFC9276] provides guidelines to configure NSEC3 properly. In | |||
addition, the attacker may be able to walk the reverse DNS zone, or | addition, the attacker may be able to walk the reverse DNS zone or | |||
use other reconnaissance techniques to learn this information as | use other reconnaissance techniques to learn this information as | |||
described in [RFC7707]. | described in [RFC7707]. | |||
The zone may be also exposed during the synchronization between the | The zone may be also exposed during the synchronization between the | |||
primary and the secondary. The casual risk of this occuring is low, | primary and the secondary. The casual risk of this occurring is low, | |||
and the use of [RFC9103] significantly reduces this. Even if | and the use of [RFC9103] significantly reduces this. Even if DNS | |||
[RFC9103] is used by the DNS Outsourcing Infrastructure, it may still | zone transfer over TLS [RFC9103] is used by the DOI, it may still | |||
leak the existence of the zone through Notifies. The protocol | leak the existence of the zone through Notifies. The protocol | |||
described in this document does not increase that risk, as all | described in this document does not increase that risk, as all | |||
Notifies use the encrypted Control Channel. | Notifies use the encrypted Control Channel. | |||
In general a home network owner is expected to publish only names for | In general, a home network owner is expected to publish only names | |||
which there is some need to be able to reference externally. | for which there is some need to reference them externally. | |||
Publication of the name does not imply that the service is | Publication of the name does not imply that the service is | |||
necessarily reachable from any or all parts of the Internet. | necessarily reachable from any or all parts of the Internet. | |||
[RFC7084] mandates that the outgoing-only policy [RFC6092] be | [RFC7084] mandates that the outgoing-only policy [RFC6092] be | |||
available, and in many cases it is configured by default. A well | available, and in many cases, it is configured by default. A well- | |||
designed User Interface would combine a policy for making a service | designed user interface would combine a policy for making a service | |||
public by a name with a policy on who may access it. | public by a name with a policy on who may access it. | |||
In many cases, and for privacy reasons, the home network owner wished | In many cases, and for privacy reasons, the home network owner has | |||
publish names only for services that they will be able to access. | wanted to publish names only for services that they will be able to | |||
The access control may consist of an IP source address range, or | access. The access control may consist of an IP source address | |||
access may be restricted via some VPN functionality. The main | range, or access may be restricted via some VPN functionality. The | |||
advantages of publishing the name are that service may be access by | main advantages of publishing the names are that the service may be | |||
the same name both within the home and outside the home and that the | accessed by the same name both within and outside the home, and the | |||
DNS resolution can be handled similarly within the home and outside | DNS resolution can be handled similarly both within and outside the | |||
the home. This considerably eases the ability to use VPNs where the | home. This considerably eases the ability to use VPNs where the VPN | |||
VPN can be chosen according to the IP address of the service. | can be chosen according to the IP address of the service. Typically, | |||
Typically, a user may configure its device to reach its homenet | a user may configure its device to reach its Homenet devices via a | |||
devices via a VPN while the remaining of the traffic is accessed | VPN while the remaining traffic is accessed directly. | |||
directly. | ||||
Enterprise networks have generally adopted another strategy | Enterprise networks have generally adopted another strategy | |||
designated as split-horizon-DNS. While such strategy might appear as | designated as split-horizon-DNS. While such strategy might appear as | |||
providing more privacy at first sight, its implementation remains | providing more privacy at first sight, its implementation remains | |||
challenging and the privacy advantages needs to be considered | challenging and the privacy advantages need to be considered | |||
carefully. In split-horizon-DNS, names are designated with internal | carefully. In split-horizon-DNS, names are designated with internal | |||
names that can only be resolved within the corporate network. When | names that can only be resolved within the corporate network. When | |||
such strategy is applied to homenet, VPNs needs to be both configured | such strategy is applied to the homenet, VPNs need to be configured | |||
with a naming resolution policies and routing policies. Such | with naming resolution policies and routing policies. Such an | |||
approach might be reasonable with a single VPN, but maintaining a | approach might be reasonable with a single VPN, but maintaining a | |||
coherent DNS space and IP space among various VPNs comes with serious | coherent DNS space and IP space among various VPNs comes with serious | |||
complexities. Firstly, if multiple homenets are using the same | complexities. Firstly, if multiple homenets are using the same | |||
domain name -- like home.arpa -- it becomes difficult to determine on | domain name -- like home.arpa -- it becomes difficult to determine on | |||
which network the resolution should be performed. As a result, | which network the resolution should be performed. As a result, | |||
homenets should at least be differentiated by a domain name. | homenets should at least be differentiated by a domain name. | |||
Secondly, the use of split-horizon-DNS requires each VPN being | Secondly, the use of split-horizon-DNS requires each VPN to be | |||
associated with a resolver and specific resolutions being performed | associated with a resolver and specific resolutions to be performed | |||
by the dedicated resolver. Such policies can easily raises some | by the dedicated resolver. Such policies can easily raise some | |||
conflicts (with significant privacy issues) while remaining hard to | conflicts (with significant privacy issues) while remaining hard to | |||
be implemented. | be implemented. | |||
In addition to the Public Homenet Zone, pervasive DNS monitoring can | In addition to the Public Homenet Zone, pervasive DNS monitoring can | |||
also monitor the traffic associated with the Public Homenet Zone. | also monitor the traffic associated with the Public Homenet Zone. | |||
This traffic may provide an indication of the services an end user | This traffic may provide an indication of the services an end user | |||
accesses, plus how and when they use these services. Although, | accesses, plus how and when they use these services. Although, | |||
caching may obfuscate this information inside the home network, it is | caching may obfuscate this information inside the home network, it is | |||
likely that outside your home network this information will not be | likely that this information will not be cached outside the home | |||
cached. | network. | |||
14. Security Considerations | 14. Security Considerations | |||
The HNA never answers DNS requests from the Internet. These requests | The HNA never answers DNS requests from the Internet. These requests | |||
are instead served by the DOI. | are instead served by the DOI. | |||
While this limits the level of exposure of the HNA, the HNA still has | While this limits the level of exposure of the HNA, the HNA still has | |||
some exposure to attacks from the Internet. This section analyses | some exposure to attacks from the Internet. This section analyses | |||
the attack surface associated with these communications, the data | the attack surface associated with these communications, the data | |||
published by the DOI, as well as operational considerations. | published by the DOI, as well as operational considerations. | |||
14.1. Registered Homenet Domain | 14.1. Registered Homenet Domain | |||
The DOI MUST NOT serve any Public Homenet Zone that it has not strong | The DOI MUST NOT serve any Public Homenet Zone when it is not | |||
confidence the HNA owns the Registered Homenet Domain. Proof of | confident that the HNA owns the Registered Homenet Domain. Proof of | |||
ownership is outside the document and is assumed such phase has | ownership is outside the scope of this document, and it is assumed | |||
preceded the outsourcing of the zone. | that such a phase has preceded the outsourcing of the zone. | |||
14.2. HNA DM channels | 14.2. HNA DM Channels | |||
The channels between HNA and DM are mutually authenticated and | The channels between HNA and DM are mutually authenticated and | |||
encrypted with TLS [RFC8446] and its associated security | encrypted with TLS [RFC8446], and its associated security | |||
considerations apply. | considerations apply. | |||
To ensure the multiple TLS session are continuously authenticating | To ensure that the multiple TLS sessions are continuously | |||
the same entity, TLS may take advantage of second factor | authenticating the same entity, TLS may take advantage of second- | |||
authentication as described in [RFC8672] for the TLS server | factor authentication as described in [RFC8672] for the TLS server | |||
certificate for the Control Channel. The HNA should also cache the | certificate for the Control Channel. The HNA should also cache the | |||
TLS server certificate used by the DM, in order to authenticate the | TLS server certificate used by the DM, in order to authenticate the | |||
DM during the setup of the Synchronization Channel. (Alternatively, | DM during the setup of the Synchronization Channel. (Alternatively, | |||
the HNA is configured with an ACL from which Synchronization Channel | the HNA is configured with an ACL from which Synchronization Channel | |||
connections will originate) | connections will originate.) | |||
The Control Channel and the Synchronization Channel respectively | The Control Channel and Synchronization Channel follow the guidelines | |||
follow [RFC7858] and [RFC9103] guidelines. | in [RFC7858] and [RFC9103], respectively. | |||
The DNS protocol is subject to reflection attacks, however, these | The DNS protocol is subject to reflection attacks; however, these | |||
attacks are largely applicable when DNS is carried over UDP. The | attacks are largely applicable when DNS is carried over UDP. The | |||
interfaces between the HNA and DM are using TLS over TCP, which | interfaces between the HNA and DM are using TLS over TCP, which | |||
prevents such reflection attacks. Note that Public Authoritative | prevents such reflection attacks. Note that Public Authoritative | |||
servers hosted by the DOI are subject to such attacks, but that is | servers hosted by the DOI are subject to such attacks, but that is | |||
out of scope of our document. | out of scope of this document. | |||
Note that in the case of the Reverse Homenet Zone, the data is less | Note that in the case of the Reverse Homenet Zone, the data is less | |||
subject to attacks than in the Public Homenet Zone. In addition, the | subject to attacks than in the Public Homenet Zone. In addition, the | |||
DM and Reverse Distribution Manager (RDM) may be provided by the ISP | DM and Reverse Distribution Manager (RDM) may be provided by the ISP | |||
- as described in [I-D.ietf-homenet-naming-architecture-dhc-options], | -- as described in [RFC9527], in which case DM and RDM might be less | |||
in which case DM and RDM might be less exposed to attacks - as | exposed to attacks -- as communications within a network. | |||
communications within a network. | ||||
14.3. Names are less secure than IP addresses | 14.3. Names Are Less Secure than IP Addresses | |||
This document describes how an end user can make their services and | This document describes how an end user can make their services and | |||
devices from their home network reachable on the Internet by using | devices from their home network reachable on the Internet by using | |||
names rather than IP addresses. This exposes the home network to | names rather than IP addresses. This exposes the home network to | |||
attackers, since names are expected to include less entropy than IP | attackers because names are expected to include less entropy than IP | |||
addresses. IPv4 Addresses are 4 bytes long leading to 2**32 | addresses. IPv4 addresses are 4-bytes long leading to 2^32 | |||
possibilities. With IPv6 addresses, the Interface Identifier is 64 | possibilities. With IPv6 addresses, the Interface Identifier is | |||
bits long leading to up to 2^64 possibilities for a given subnetwork. | 64-bits long leading to up to 2^64 possibilities for a given | |||
This is not to mention that the subnet prefix is also of 64 bits | subnetwork. This is not to mention that the subnet prefix is also | |||
long, thus providing up to 2^64 possibilities. On the other hand, | 64-bits long, thus providing up to 2^64 possibilities. On the other | |||
names used either for the home network domain or for the devices | hand, names used for either the home network domain or the devices | |||
present less entropy (livebox, router, printer, nicolas, jennifer, | present less entropy (livebox, router, printer, nicolas, jennifer, | |||
...) and thus potentially exposes the devices to dictionary attacks. | ...) and thus potentially expose the devices to dictionary attacks. | |||
14.4. Names are less volatile than IP addresses | 14.4. Names Are Less Volatile than IP Addresses | |||
IP addresses may be used to locate a device, a host or a service. | IP addresses may be used to locate a device, a host, or a service. | |||
However, home networks are not expected to be assigned a time | However, home networks are not expected to be assigned a time- | |||
invariant prefix by ISPs. In addition IPv6 enables temporary | invariant prefix by ISPs. In addition, IPv6 enables temporary | |||
addresses that makes them even more volatile [RFC8981]. As a result, | addresses that makes them even more volatile [RFC8981]. As a result, | |||
observing IP addresses only provides some ephemeral information about | observing IP addresses only provides some ephemeral information about | |||
who is accessing the service. On the other hand, names are not | who is accessing the service. On the other hand, names are not | |||
expected to be as volatile as IP addresses. As a result, logging | expected to be as volatile as IP addresses. As a result, logging | |||
names over time may be more valuable than logging IP addresses, | names over time may be more valuable than logging IP addresses, | |||
especially to profile an end user's characteristics. | especially to profile an end user's characteristics. | |||
PTR provides a way to bind an IP address to a name. In that sense, | PTR provides a way to bind an IP address to a name. In that sense, | |||
responding to PTR DNS queries may affect the end user's privacy. For | responding to PTR DNS queries may affect the end user's privacy. For | |||
that reason PTR DNS queries and MAY instead be configured to return | that reason, PTR DNS queries MAY be configured to return with | |||
with NXDOMAIN. | NXDOMAIN instead. | |||
14.5. Deployment Considerations | 14.5. Deployment Considerations | |||
The HNA is expected to sign the DNSSEC zone and as such hold the | The HNA is expected to sign the DNSSEC zone and, as such, hold the | |||
private KSK/ZSK. | private KSK and Zone Signing Key (ZSK). | |||
There is no strong justification in this case to use a separate KSK | In this case, there is no strong justification to use a separate KSK | |||
and ZSK. If an attacker can get access to one of them, it likely | and ZSK. If an attacker can get access to one of them, it is likely | |||
that they will access both of them. If the HNA is run in a home | that they will access both of them. If the HNA is run in a home | |||
router with a secure element (SE) or TPM, storing the private keys in | router with a secure element (SE) or trusted platform module (TPM), | |||
the secure element would be a useful precaution. The DNSSEC keys are | storing the private keys in the secure element would be a useful | |||
generally needed on an hourly to weekly basis, but not more often. | precaution. The DNSSEC keys are generally needed on an hourly to | |||
weekly basis, but not more often. | ||||
While there is some risk that the DNSSEC keys might be disclosed by | While there is some risk that the DNSSEC keys might be disclosed by | |||
malicious parties, the bigger risk is that they will simply be lost | malicious parties, the bigger risk is that they will simply be lost | |||
if the home router is factory reset, or just thrown out/replaced with | if the home router is factory reset or just thrown out / replaced | |||
a newer model. | with a newer model. | |||
Generating new DNSSEC keys is relatively easy, they can be deployed | Generating new DNSSEC keys is relatively easy; they can be deployed | |||
using the Control Channel to the DM. The key that is used to | using the Control Channel to the DM. The key that is used to | |||
authenticate that connection is the critical key that needs | authenticate that connection is the critical key that needs | |||
protection, and should ideally be backed up to offline storage. | protection and should ideally be backed up to offline storage (such | |||
(Such as a USB key) | as a USB key). | |||
14.6. Operational Considerations | 14.6. Operational Considerations | |||
HomeNet technologies makes it easier to expose devices and services | Homenet technologies make it easier to expose devices and services to | |||
to the Internet. This imposes broader operational considerations for | the Internet. This imposes broader operational considerations for | |||
the operator and the Internet: | the operator and the Internet as follows: | |||
* The home network operator must carefully assess whether a device | * The home network operator must carefully assess whether a device | |||
or service previously fielded only on a home network is robust | or service previously fielded only on a home network is robust | |||
enough to be exposed to the Internet | enough to be exposed to the Internet. | |||
* The home network operator will need to increase the diligence to | * The home network operator will need to increase the diligence to | |||
regularly managing these exposed devices due to their increased | regularly managing these exposed devices due to their increased | |||
risk posture of being exposed to the Internet | risk posture of being exposed to the Internet. | |||
* Depending on the operational practices of the home network | * Depending on the operational practices of the home network | |||
operators, there is an increased risk to the Internet through the | operators, there is an increased risk to the Internet through the | |||
possible introduction of additional internet-exposed system that | possible introduction of additional Internet-exposed systems that | |||
are poorly managed and likely to be compromised. | are poorly managed and likely to be compromised. | |||
15. IANA Considerations | 15. IANA Considerations | |||
This document has no actions for IANA. | This document has no IANA actions. | |||
16. Acknowledgment | ||||
The authors wish to thank Philippe Lemordant for his contributions on | ||||
the early versions of the draft; Ole Troan for pointing out issues | ||||
with the IPv6 routed home concept and placing the scope of this | ||||
document in a wider picture; Mark Townsley for encouragement and | ||||
injecting a healthy debate on the merits of the idea; Ulrik de Bie | ||||
for providing alternative solutions; Paul Mockapetris, Christian | ||||
Jacquenet, Francis Dupont and Ludovic Eschard for their remarks on | ||||
HNA and low power devices; Olafur Gudmundsson for clarifying DNSSEC | ||||
capabilities of small devices; Simon Kelley for its feedback as | ||||
dnsmasq implementer; Andrew Sullivan, Mark Andrew, Ted Lemon, Mikael | ||||
Abrahamson, Stephen Farrell, and Ray Bellis for their feedback on | ||||
handling different views as well as clarifying the impact of | ||||
outsourcing the zone signing operation outside the HNA; Mark Andrew | ||||
and Peter Koch for clarifying the renumbering. | ||||
The authors would like to thank Kiran Makhijani for her in-depth | ||||
review that contributed in shaping the final version. | ||||
The authors would like to thank our Area Directorate Éric Vyncke for | ||||
his constant support and pushing the document through the IESG as | ||||
well as the many reviewers from various directorates including | ||||
Anthony Somerset, Geoff Huston, Tim Chown, Tim Wicinski, Matt Brown, | ||||
Darrel Miller, Chirster Holmberg. | ||||
17. Contributors | ||||
The co-authors would like to thank Chris Griffiths and Wouter | ||||
Cloetens that provided a significant contribution in the early | ||||
versions of the document. | ||||
18. References | ||||
18.1. Normative References | 16. References | |||
[I-D.ietf-uta-rfc6125bis] | 16.1. Normative References | |||
Saint-Andre, P. and R. Salz, "Service Identity in TLS", | ||||
Work in Progress, Internet-Draft, draft-ietf-uta- | ||||
rfc6125bis-10, 25 January 2023, | ||||
<https://datatracker.ietf.org/doc/html/draft-ietf-uta- | ||||
rfc6125bis-10>. | ||||
[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/rfc/rfc1034>. | <https://www.rfc-editor.org/info/rfc1034>. | |||
[RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G. | [RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G. | |||
J., and E. Lear, "Address Allocation for Private | J., and E. Lear, "Address Allocation for Private | |||
Internets", BCP 5, RFC 1918, DOI 10.17487/RFC1918, | Internets", BCP 5, RFC 1918, DOI 10.17487/RFC1918, | |||
February 1996, <https://www.rfc-editor.org/rfc/rfc1918>. | February 1996, <https://www.rfc-editor.org/info/rfc1918>. | |||
[RFC1996] Vixie, P., "A Mechanism for Prompt Notification of Zone | [RFC1996] Vixie, P., "A Mechanism for Prompt Notification of Zone | |||
Changes (DNS NOTIFY)", RFC 1996, DOI 10.17487/RFC1996, | Changes (DNS NOTIFY)", RFC 1996, DOI 10.17487/RFC1996, | |||
August 1996, <https://www.rfc-editor.org/rfc/rfc1996>. | August 1996, <https://www.rfc-editor.org/info/rfc1996>. | |||
[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/rfc/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC3007] Wellington, B., "Secure Domain Name System (DNS) Dynamic | [RFC3007] Wellington, B., "Secure Domain Name System (DNS) Dynamic | |||
Update", RFC 3007, DOI 10.17487/RFC3007, November 2000, | Update", RFC 3007, DOI 10.17487/RFC3007, November 2000, | |||
<https://www.rfc-editor.org/rfc/rfc3007>. | <https://www.rfc-editor.org/info/rfc3007>. | |||
[RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. | [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. | |||
Rose, "Resource Records for the DNS Security Extensions", | Rose, "Resource Records for the DNS Security Extensions", | |||
RFC 4034, DOI 10.17487/RFC4034, March 2005, | RFC 4034, DOI 10.17487/RFC4034, March 2005, | |||
<https://www.rfc-editor.org/rfc/rfc4034>. | <https://www.rfc-editor.org/info/rfc4034>. | |||
[RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS | [RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS | |||
Security (DNSSEC) Hashed Authenticated Denial of | Security (DNSSEC) Hashed Authenticated Denial of | |||
Existence", RFC 5155, DOI 10.17487/RFC5155, March 2008, | Existence", RFC 5155, DOI 10.17487/RFC5155, March 2008, | |||
<https://www.rfc-editor.org/rfc/rfc5155>. | <https://www.rfc-editor.org/info/rfc5155>. | |||
[RFC7344] Kumari, W., Gudmundsson, O., and G. Barwood, "Automating | [RFC7344] Kumari, W., Gudmundsson, O., and G. Barwood, "Automating | |||
DNSSEC Delegation Trust Maintenance", RFC 7344, | DNSSEC Delegation Trust Maintenance", RFC 7344, | |||
DOI 10.17487/RFC7344, September 2014, | DOI 10.17487/RFC7344, September 2014, | |||
<https://www.rfc-editor.org/rfc/rfc7344>. | <https://www.rfc-editor.org/info/rfc7344>. | |||
[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/rfc/rfc7858>. | 2016, <https://www.rfc-editor.org/info/rfc7858>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/rfc/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[RFC8375] Pfister, P. and T. Lemon, "Special-Use Domain | [RFC8375] Pfister, P. and T. Lemon, "Special-Use Domain | |||
'home.arpa.'", RFC 8375, DOI 10.17487/RFC8375, May 2018, | 'home.arpa.'", RFC 8375, DOI 10.17487/RFC8375, May 2018, | |||
<https://www.rfc-editor.org/rfc/rfc8375>. | <https://www.rfc-editor.org/info/rfc8375>. | |||
[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/rfc/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
[RFC8499] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS | [RFC8499] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS | |||
Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499, | Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499, | |||
January 2019, <https://www.rfc-editor.org/rfc/rfc8499>. | January 2019, <https://www.rfc-editor.org/info/rfc8499>. | |||
[RFC9103] Toorop, W., Dickinson, S., Sahib, S., Aras, P., and A. | [RFC9103] Toorop, W., Dickinson, S., Sahib, S., Aras, P., and A. | |||
Mankin, "DNS Zone Transfer over TLS", RFC 9103, | Mankin, "DNS Zone Transfer over TLS", RFC 9103, | |||
DOI 10.17487/RFC9103, August 2021, | DOI 10.17487/RFC9103, August 2021, | |||
<https://www.rfc-editor.org/rfc/rfc9103>. | <https://www.rfc-editor.org/info/rfc9103>. | |||
18.2. Informative References | ||||
[GPUNSEC3] Wander, M., Schwittmann, L., Boelmann, C., and T. Weis, | [RFC9525] Saint-Andre, P. and R. Salz, "Service Identity in TLS", | |||
"GPU-Based NSEC3 Hash Breaking", n.d., | RFC 9525, DOI 10.17487/RFC9525, November 2023, | |||
<https://doi.org/10.1109/NCA.2014.27>. | <https://www.rfc-editor.org/info/rfc9525>. | |||
[I-D.ietf-dnsop-dnssec-validator-requirements] | 16.2. Informative References | |||
Migault, D., Lewis, E., and D. York, "Recommendations for | ||||
DNSSEC Resolvers Operators", Work in Progress, Internet- | ||||
Draft, draft-ietf-dnsop-dnssec-validator-requirements-04, | ||||
25 January 2023, <https://datatracker.ietf.org/doc/html/ | ||||
draft-ietf-dnsop-dnssec-validator-requirements-04>. | ||||
[I-D.ietf-dnsop-domain-verification-techniques] | [DOMAIN-VALIDATION] | |||
Sahib, S. K., Huque, S., and P. Wouters, "Survey of Domain | Sahib, S., Huque, S., Wouters, P., and E. Nygren, "Domain | |||
Verification Techniques using DNS", Work in Progress, | Control Validation using DNS", Work in Progress, Internet- | |||
Internet-Draft, draft-ietf-dnsop-domain-verification- | Draft, draft-ietf-dnsop-domain-verification-techniques-03, | |||
techniques-00, 28 July 2022, | 17 October 2023, <https://datatracker.ietf.org/doc/html/ | |||
<https://datatracker.ietf.org/doc/html/draft-ietf-dnsop- | draft-ietf-dnsop-domain-verification-techniques-03>. | |||
domain-verification-techniques-00>. | ||||
[I-D.ietf-dnsop-ns-revalidation] | [DRO-RECS] Migault, D., Lewis, E., and D. York, "Recommendations for | |||
Huque, S., Vixie, P. A., and R. Dolmans, "Delegation | DNSSEC Resolvers Operators", Work in Progress, Internet- | |||
Revalidation by DNS Resolvers", Work in Progress, | Draft, draft-ietf-dnsop-dnssec-validator-requirements-07, | |||
Internet-Draft, draft-ietf-dnsop-ns-revalidation-03, 6 | 13 November 2023, <https://datatracker.ietf.org/doc/html/ | |||
September 2022, <https://datatracker.ietf.org/doc/html/ | draft-ietf-dnsop-dnssec-validator-requirements-07>. | |||
draft-ietf-dnsop-ns-revalidation-03>. | ||||
[I-D.ietf-homenet-naming-architecture-dhc-options] | [GPUNSEC3] Wander, M., Schwittmann, L., Boelmann, C., and T. Weis, | |||
Migault, D., Weber, R., and T. Mrugalski, "DHCPv6 Options | "GPU-Based NSEC3 Hash Breaking", DOI 10.1109/NCA.2014.27, | |||
for Home Network Naming Authority", Work in Progress, | August 2014, <https://doi.org/10.1109/NCA.2014.27>. | |||
Internet-Draft, draft-ietf-homenet-naming-architecture- | ||||
dhc-options-24, 31 October 2022, | ||||
<https://datatracker.ietf.org/doc/html/draft-ietf-homenet- | ||||
naming-architecture-dhc-options-24>. | ||||
[I-D.richardson-homerouter-provisioning] | [HOMEROUTER-PROVISION] | |||
Richardson, M., "Provisioning Initial Device Identifiers | Richardson, M., "Provisioning Initial Device Identifiers | |||
into Home Routers", Work in Progress, Internet-Draft, | into Home Routers", Work in Progress, Internet-Draft, | |||
draft-richardson-homerouter-provisioning-02, 14 November | draft-richardson-homerouter-provisioning-02, 14 November | |||
2021, <https://datatracker.ietf.org/doc/html/draft- | 2021, <https://datatracker.ietf.org/doc/html/draft- | |||
richardson-homerouter-provisioning-02>. | richardson-homerouter-provisioning-02>. | |||
[REBIND] "DNS rebinding", n.d., | [NS-REVALIDATION] | |||
<https://en.wikipedia.org/wiki/DNS_rebinding>. | Huque, S., Vixie, P., and R. Dolmans, "Delegation | |||
Revalidation by DNS Resolvers", Work in Progress, | ||||
Internet-Draft, draft-ietf-dnsop-ns-revalidation-04, 13 | ||||
March 2023, <https://datatracker.ietf.org/doc/html/draft- | ||||
ietf-dnsop-ns-revalidation-04>. | ||||
[REBIND] Wikipedia, "DNS rebinding", September 2023, | ||||
<https://en.wikipedia.org/w/ | ||||
index.php?title=DNS_rebinding&oldid=1173433859>. | ||||
[RFC2136] Vixie, P., Ed., Thomson, S., Rekhter, Y., and J. Bound, | [RFC2136] Vixie, P., Ed., Thomson, S., Rekhter, Y., and J. Bound, | |||
"Dynamic Updates in the Domain Name System (DNS UPDATE)", | "Dynamic Updates in the Domain Name System (DNS UPDATE)", | |||
RFC 2136, DOI 10.17487/RFC2136, April 1997, | RFC 2136, DOI 10.17487/RFC2136, April 1997, | |||
<https://www.rfc-editor.org/rfc/rfc2136>. | <https://www.rfc-editor.org/info/rfc2136>. | |||
[RFC3787] Parker, J., Ed., "Recommendations for Interoperable IP | [RFC3587] Hinden, R., Deering, S., and E. Nordmark, "IPv6 Global | |||
Networks using Intermediate System to Intermediate System | Unicast Address Format", RFC 3587, DOI 10.17487/RFC3587, | |||
(IS-IS)", RFC 3787, DOI 10.17487/RFC3787, May 2004, | August 2003, <https://www.rfc-editor.org/info/rfc3587>. | |||
<https://www.rfc-editor.org/rfc/rfc3787>. | ||||
[RFC3927] Cheshire, S., Aboba, B., and E. Guttman, "Dynamic | [RFC3927] Cheshire, S., Aboba, B., and E. Guttman, "Dynamic | |||
Configuration of IPv4 Link-Local Addresses", RFC 3927, | Configuration of IPv4 Link-Local Addresses", RFC 3927, | |||
DOI 10.17487/RFC3927, May 2005, | DOI 10.17487/RFC3927, May 2005, | |||
<https://www.rfc-editor.org/rfc/rfc3927>. | <https://www.rfc-editor.org/info/rfc3927>. | |||
[RFC4192] Baker, F., Lear, E., and R. Droms, "Procedures for | [RFC4192] Baker, F., Lear, E., and R. Droms, "Procedures for | |||
Renumbering an IPv6 Network without a Flag Day", RFC 4192, | Renumbering an IPv6 Network without a Flag Day", RFC 4192, | |||
DOI 10.17487/RFC4192, September 2005, | DOI 10.17487/RFC4192, September 2005, | |||
<https://www.rfc-editor.org/rfc/rfc4192>. | <https://www.rfc-editor.org/info/rfc4192>. | |||
[RFC4193] Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast | [RFC4193] Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast | |||
Addresses", RFC 4193, DOI 10.17487/RFC4193, October 2005, | Addresses", RFC 4193, DOI 10.17487/RFC4193, October 2005, | |||
<https://www.rfc-editor.org/rfc/rfc4193>. | <https://www.rfc-editor.org/info/rfc4193>. | |||
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing | [RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing | |||
Architecture", RFC 4291, DOI 10.17487/RFC4291, February | Architecture", RFC 4291, DOI 10.17487/RFC4291, February | |||
2006, <https://www.rfc-editor.org/rfc/rfc4291>. | 2006, <https://www.rfc-editor.org/info/rfc4291>. | |||
[RFC5011] StJohns, M., "Automated Updates of DNS Security (DNSSEC) | [RFC5011] StJohns, M., "Automated Updates of DNS Security (DNSSEC) | |||
Trust Anchors", STD 74, RFC 5011, DOI 10.17487/RFC5011, | Trust Anchors", STD 74, RFC 5011, DOI 10.17487/RFC5011, | |||
September 2007, <https://www.rfc-editor.org/rfc/rfc5011>. | September 2007, <https://www.rfc-editor.org/info/rfc5011>. | |||
[RFC6092] Woodyatt, J., Ed., "Recommended Simple Security | [RFC6092] Woodyatt, J., Ed., "Recommended Simple Security | |||
Capabilities in Customer Premises Equipment (CPE) for | Capabilities in Customer Premises Equipment (CPE) for | |||
Providing Residential IPv6 Internet Service", RFC 6092, | Providing Residential IPv6 Internet Service", RFC 6092, | |||
DOI 10.17487/RFC6092, January 2011, | DOI 10.17487/RFC6092, January 2011, | |||
<https://www.rfc-editor.org/rfc/rfc6092>. | <https://www.rfc-editor.org/info/rfc6092>. | |||
[RFC6749] Hardt, D., Ed., "The OAuth 2.0 Authorization Framework", | [RFC6749] Hardt, D., Ed., "The OAuth 2.0 Authorization Framework", | |||
RFC 6749, DOI 10.17487/RFC6749, October 2012, | RFC 6749, DOI 10.17487/RFC6749, October 2012, | |||
<https://www.rfc-editor.org/rfc/rfc6749>. | <https://www.rfc-editor.org/info/rfc6749>. | |||
[RFC6762] Cheshire, S. and M. Krochmal, "Multicast DNS", RFC 6762, | [RFC6762] Cheshire, S. and M. Krochmal, "Multicast DNS", RFC 6762, | |||
DOI 10.17487/RFC6762, February 2013, | DOI 10.17487/RFC6762, February 2013, | |||
<https://www.rfc-editor.org/rfc/rfc6762>. | <https://www.rfc-editor.org/info/rfc6762>. | |||
[RFC6887] Wing, D., Ed., Cheshire, S., Boucadair, M., Penno, R., and | [RFC6887] Wing, D., Ed., Cheshire, S., Boucadair, M., Penno, R., and | |||
P. Selkirk, "Port Control Protocol (PCP)", RFC 6887, | P. Selkirk, "Port Control Protocol (PCP)", RFC 6887, | |||
DOI 10.17487/RFC6887, April 2013, | DOI 10.17487/RFC6887, April 2013, | |||
<https://www.rfc-editor.org/rfc/rfc6887>. | <https://www.rfc-editor.org/info/rfc6887>. | |||
[RFC7010] Liu, B., Jiang, S., Carpenter, B., Venaas, S., and W. | [RFC7010] Liu, B., Jiang, S., Carpenter, B., Venaas, S., and W. | |||
George, "IPv6 Site Renumbering Gap Analysis", RFC 7010, | George, "IPv6 Site Renumbering Gap Analysis", RFC 7010, | |||
DOI 10.17487/RFC7010, September 2013, | DOI 10.17487/RFC7010, September 2013, | |||
<https://www.rfc-editor.org/rfc/rfc7010>. | <https://www.rfc-editor.org/info/rfc7010>. | |||
[RFC7084] Singh, H., Beebee, W., Donley, C., and B. Stark, "Basic | [RFC7084] Singh, H., Beebee, W., Donley, C., and B. Stark, "Basic | |||
Requirements for IPv6 Customer Edge Routers", RFC 7084, | Requirements for IPv6 Customer Edge Routers", RFC 7084, | |||
DOI 10.17487/RFC7084, November 2013, | DOI 10.17487/RFC7084, November 2013, | |||
<https://www.rfc-editor.org/rfc/rfc7084>. | <https://www.rfc-editor.org/info/rfc7084>. | |||
[RFC7368] Chown, T., Ed., Arkko, J., Brandt, A., Troan, O., and J. | [RFC7368] Chown, T., Ed., Arkko, J., Brandt, A., Troan, O., and J. | |||
Weil, "IPv6 Home Networking Architecture Principles", | Weil, "IPv6 Home Networking Architecture Principles", | |||
RFC 7368, DOI 10.17487/RFC7368, October 2014, | RFC 7368, DOI 10.17487/RFC7368, October 2014, | |||
<https://www.rfc-editor.org/rfc/rfc7368>. | <https://www.rfc-editor.org/info/rfc7368>. | |||
[RFC7404] Behringer, M. and E. Vyncke, "Using Only Link-Local | [RFC7404] Behringer, M. and E. Vyncke, "Using Only Link-Local | |||
Addressing inside an IPv6 Network", RFC 7404, | Addressing inside an IPv6 Network", RFC 7404, | |||
DOI 10.17487/RFC7404, November 2014, | DOI 10.17487/RFC7404, November 2014, | |||
<https://www.rfc-editor.org/rfc/rfc7404>. | <https://www.rfc-editor.org/info/rfc7404>. | |||
[RFC7707] Gont, F. and T. Chown, "Network Reconnaissance in IPv6 | [RFC7707] Gont, F. and T. Chown, "Network Reconnaissance in IPv6 | |||
Networks", RFC 7707, DOI 10.17487/RFC7707, March 2016, | Networks", RFC 7707, DOI 10.17487/RFC7707, March 2016, | |||
<https://www.rfc-editor.org/rfc/rfc7707>. | <https://www.rfc-editor.org/info/rfc7707>. | |||
[RFC7788] Stenberg, M., Barth, S., and P. Pfister, "Home Networking | [RFC7788] Stenberg, M., Barth, S., and P. Pfister, "Home Networking | |||
Control Protocol", RFC 7788, DOI 10.17487/RFC7788, April | Control Protocol", RFC 7788, DOI 10.17487/RFC7788, April | |||
2016, <https://www.rfc-editor.org/rfc/rfc7788>. | 2016, <https://www.rfc-editor.org/info/rfc7788>. | |||
[RFC8094] Reddy, T., Wing, D., and P. Patil, "DNS over Datagram | [RFC8094] Reddy, T., Wing, D., and P. Patil, "DNS over Datagram | |||
Transport Layer Security (DTLS)", RFC 8094, | Transport Layer Security (DTLS)", RFC 8094, | |||
DOI 10.17487/RFC8094, February 2017, | DOI 10.17487/RFC8094, February 2017, | |||
<https://www.rfc-editor.org/rfc/rfc8094>. | <https://www.rfc-editor.org/info/rfc8094>. | |||
[RFC8415] Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A., | [RFC8415] Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A., | |||
Richardson, M., Jiang, S., Lemon, T., and T. Winters, | Richardson, M., Jiang, S., Lemon, T., and T. Winters, | |||
"Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", | "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", | |||
RFC 8415, DOI 10.17487/RFC8415, November 2018, | RFC 8415, DOI 10.17487/RFC8415, November 2018, | |||
<https://www.rfc-editor.org/rfc/rfc8415>. | <https://www.rfc-editor.org/info/rfc8415>. | |||
[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/rfc/rfc8484>. | <https://www.rfc-editor.org/info/rfc8484>. | |||
[RFC8501] Howard, L., "Reverse DNS in IPv6 for Internet Service | [RFC8501] Howard, L., "Reverse DNS in IPv6 for Internet Service | |||
Providers", RFC 8501, DOI 10.17487/RFC8501, November 2018, | Providers", RFC 8501, DOI 10.17487/RFC8501, November 2018, | |||
<https://www.rfc-editor.org/rfc/rfc8501>. | <https://www.rfc-editor.org/info/rfc8501>. | |||
[RFC8555] Barnes, R., Hoffman-Andrews, J., McCarney, D., and J. | [RFC8555] Barnes, R., Hoffman-Andrews, J., McCarney, D., and J. | |||
Kasten, "Automatic Certificate Management Environment | Kasten, "Automatic Certificate Management Environment | |||
(ACME)", RFC 8555, DOI 10.17487/RFC8555, March 2019, | (ACME)", RFC 8555, DOI 10.17487/RFC8555, March 2019, | |||
<https://www.rfc-editor.org/rfc/rfc8555>. | <https://www.rfc-editor.org/info/rfc8555>. | |||
[RFC8610] Birkholz, H., Vigano, C., and C. Bormann, "Concise Data | [RFC8610] Birkholz, H., Vigano, C., and C. Bormann, "Concise Data | |||
Definition Language (CDDL): A Notational Convention to | Definition Language (CDDL): A Notational Convention to | |||
Express Concise Binary Object Representation (CBOR) and | Express Concise Binary Object Representation (CBOR) and | |||
JSON Data Structures", RFC 8610, DOI 10.17487/RFC8610, | JSON Data Structures", RFC 8610, DOI 10.17487/RFC8610, | |||
June 2019, <https://www.rfc-editor.org/rfc/rfc8610>. | June 2019, <https://www.rfc-editor.org/info/rfc8610>. | |||
[RFC8672] Sheffer, Y. and D. Migault, "TLS Server Identity Pinning | [RFC8672] Sheffer, Y. and D. Migault, "TLS Server Identity Pinning | |||
with Tickets", RFC 8672, DOI 10.17487/RFC8672, October | with Tickets", RFC 8672, DOI 10.17487/RFC8672, October | |||
2019, <https://www.rfc-editor.org/rfc/rfc8672>. | 2019, <https://www.rfc-editor.org/info/rfc8672>. | |||
[RFC8978] Gont, F., Žorž, J., and R. Patterson, "Reaction of IPv6 | [RFC8978] Gont, F., Žorž, J., and R. Patterson, "Reaction of IPv6 | |||
Stateless Address Autoconfiguration (SLAAC) to Flash- | Stateless Address Autoconfiguration (SLAAC) to Flash- | |||
Renumbering Events", RFC 8978, DOI 10.17487/RFC8978, March | Renumbering Events", RFC 8978, DOI 10.17487/RFC8978, March | |||
2021, <https://www.rfc-editor.org/rfc/rfc8978>. | 2021, <https://www.rfc-editor.org/info/rfc8978>. | |||
[RFC8981] Gont, F., Krishnan, S., Narten, T., and R. Draves, | [RFC8981] Gont, F., Krishnan, S., Narten, T., and R. Draves, | |||
"Temporary Address Extensions for Stateless Address | "Temporary Address Extensions for Stateless Address | |||
Autoconfiguration in IPv6", RFC 8981, | Autoconfiguration in IPv6", RFC 8981, | |||
DOI 10.17487/RFC8981, February 2021, | DOI 10.17487/RFC8981, February 2021, | |||
<https://www.rfc-editor.org/rfc/rfc8981>. | <https://www.rfc-editor.org/info/rfc8981>. | |||
[RFC9250] Huitema, C., Dickinson, S., and A. Mankin, "DNS over | [RFC9250] Huitema, C., Dickinson, S., and A. Mankin, "DNS over | |||
Dedicated QUIC Connections", RFC 9250, | Dedicated QUIC Connections", RFC 9250, | |||
DOI 10.17487/RFC9250, May 2022, | DOI 10.17487/RFC9250, May 2022, | |||
<https://www.rfc-editor.org/rfc/rfc9250>. | <https://www.rfc-editor.org/info/rfc9250>. | |||
[RFC9276] Hardaker, W. and V. Dukhovni, "Guidance for NSEC3 | [RFC9276] Hardaker, W. and V. Dukhovni, "Guidance for NSEC3 | |||
Parameter Settings", BCP 236, RFC 9276, | Parameter Settings", BCP 236, RFC 9276, | |||
DOI 10.17487/RFC9276, August 2022, | DOI 10.17487/RFC9276, August 2022, | |||
<https://www.rfc-editor.org/rfc/rfc9276>. | <https://www.rfc-editor.org/info/rfc9276>. | |||
[RFC9527] Migault, D., Weber, R., and T. Mrugalski, "DHCPv6 Options | ||||
for the Homenet Naming Authority", RFC 9527, | ||||
DOI 10.17487/RFC9527, January 2024, | ||||
<https://www.rfc-editor.org/info/rfc9527>. | ||||
[ZONEENUM] Wang, Z., Xiao, L., and R. Wang, "An efficient DNSSEC zone | [ZONEENUM] Wang, Z., Xiao, L., and R. Wang, "An efficient DNSSEC zone | |||
enumeration algorithm", n.d.. | enumeration algorithm", DOI 10.2495/MIIT130591, April | |||
2014, <https://doi.org/10.2495/MIIT130591>. | ||||
Appendix A. HNA Channel Configurations | Appendix A. HNA Channel Configurations | |||
A.1. Homenet Public Zone | A.1. Public Homenet Zone | |||
This document does not deal with how the HNA is provisioned with a | This document does not deal with how the HNA is provisioned with a | |||
trusted relationship to the Distribution Manager for the forward | trusted relationship to the Distribution Manager for the forward | |||
zone. | zone. | |||
This section details what needs to be provisioned into the HNA and | This section details what needs to be provisioned into the HNA and | |||
serves as a requirements statement for mechanisms. | serves as a requirements statement for mechanisms. | |||
The HNA needs to be provisioned with: | The HNA needs to be provisioned with: | |||
* the Registered Domain (e.g., myhome.example ) | * the Registered Domain (e.g., myhome.example); | |||
* the contact info for the Distribution Manager (DM), including the | * the contact information for the DM, including the DNS name (the | |||
DNS name (FQDN), possibly including the IP literal, and a | fully qualified domain name (FQDN)), possibly the IP literal, and | |||
certificate (or anchor) to be used to authenticate the service | a certificate (or anchor) to be used to authenticate the service; | |||
* the DM transport protocol and port (the default is DNS over TLS, | * the DM transport protocol and port (the default is DNS over TLS, | |||
on port 853) | on port 853); and | |||
* the HNA credentials used by the DM for its authentication. | * the HNA credentials used by the DM for its authentication. | |||
The HNA will need to select an IP address for communication for the | The HNA will need to select an IP address for communication for the | |||
Synchronization Channel. This is typically the WAN address of the | Synchronization Channel. This is typically the WAN address of the | |||
CPE, but could be an IPv6 LAN address in the case of a home with | CPE, but it could be an IPv6 LAN address in the case of a home with | |||
multiple ISPs (and multiple border routers). This is detailed in | multiple ISPs (and multiple border routers). This is detailed in | |||
Section 6.5.3 when the NS and A or AAAA RRsets are communicated. | Section 6.5.3 when the NS and A or AAAA RRsets are communicated. | |||
The above parameters MUST be be provisioned for ISP-specific reverse | The above parameters MUST be provisioned for ISP-specific reverse | |||
zones. One example of how to do this can be found in | zones. One example of how to do this can be found in [RFC9527]. | |||
[I-D.ietf-homenet-naming-architecture-dhc-options]. ISP-specific | ISP-specific forward zones MAY also be provisioned using [RFC9527], | |||
forward zones MAY also be provisioned using | but zones that are not related to a specific ISP zone (such as with a | |||
[I-D.ietf-homenet-naming-architecture-dhc-options], but zones which | DNS provider) must be provisioned through other means. | |||
are not related to a specific ISP zone (such as with a DNS provider) | ||||
must be provisioned through other means. | ||||
Similarly, if the HNA is provided by a registrar, the HNA may be | Similarly, if the HNA is provided by a registrar, the HNA may be | |||
handed pre-configured to end user. | handed preconfigured to the end user. | |||
In the absence of specific pre-established relation, these pieces of | In the absence of specific pre-established relations, these pieces of | |||
information may be entered manually by the end user. In order to | information may be entered manually by the end user. In order to | |||
ease the configuration from the end user the following scheme may be | ease the configuration from the end user, the following scheme may be | |||
implemented. | implemented. | |||
The HNA may present the end user a web interface where it provides | The HNA may present the end user with a web interface that provides | |||
the end user the ability to indicate the Registered Homenet Domain or | the end user the ability to indicate the Registered Homenet Domain or | |||
the registrar for example a preselected list. Once the registrar has | the registrar with, for example, a preselected list. Once the | |||
been selected, the HNA redirects the end user to that registrar in | registrar has been selected, the HNA redirects the end user to that | |||
order to receive a access token. The access token will enable the | registrar in order to receive an access token. The access token will | |||
HNA to retrieve the DM parameters associated with the Registered | enable the HNA to retrieve the DM parameters associated with the | |||
Domain. These parameters will include the credentials used by the | Registered Domain. These parameters will include the credentials | |||
HNA to establish the Control and Synchronization Channels. | used by the HNA to establish the Control and Synchronization | |||
Channels. | ||||
Such architecture limits the necessary steps to configure the HNA | Such architecture limits the necessary steps to configure the HNA | |||
from the end user. | from the end user. | |||
Appendix B. Information Model for Outsourced information | Appendix B. Information Model for Outsourced Information | |||
This section specifies an optional format for the set of parameters | This section specifies an optional format for the set of parameters | |||
required by the HNA to configure the naming architecture of this | required by the HNA to configure the naming architecture of this | |||
document. | document. | |||
In cases where a home router has not been provisioned by the | In cases where a home router has not been provisioned by the | |||
manufacturer (when forward zones are provided by the manufacturer), | manufacturer (when forward zones are provided by the manufacturer) or | |||
or by the ISP (when the ISP provides this service), then a home user/ | by the ISP (when the ISP provides this service), then a home user/ | |||
owner will need to configure these settings via an administrative | owner will need to configure these settings via an administrative | |||
interface. | interface. | |||
By defining a standard format (in JSON) for this configuration | By defining a standard format (in JSON) for this configuration | |||
information, the user/owner may be able to just copy and paste a | information, the user/owner may be able to copy and paste a | |||
configuration blob from the service provider into the administrative | configuration blob from the service provider into the administrative | |||
interface of the HNA. | interface of the HNA. | |||
This format may also provide the basis for a future OAUTH2 [RFC6749] | This format may also provide the basis for a future OAuth 2.0 | |||
flow that could do the setup automatically. | [RFC6749] flow that could do the set up automatically. | |||
The HNA needs to be configured with the following parameters as | The HNA needs to be configured with the following parameters as | |||
described by this CDDL [RFC8610]. These are the parameters are | described by the Concise Data Definition Language (CDDL) [RFC8610]. | |||
necessary to establish a secure channel between the HNA and the DM as | These parameters are necessary to establish a secure channel between | |||
well as to specify the DNS zone that is in the scope of the | the HNA and the DM as well as to specify the DNS zone that is in the | |||
communication. | scope of the communication. | |||
hna-configuration = { | hna-configuration = { | |||
"registered_domain" : tstr, | "registered_domain" : tstr, | |||
"dm" : tstr, | "dm" : tstr, | |||
? "dm_transport" : "DoT" | ? "dm_transport" : "DoT" | |||
? "dm_port" : uint, | ? "dm_port" : uint, | |||
? "dm_acl" : hna-acl / [ +hna-acl ] | ? "dm_acl" : hna-acl / [ +hna-acl ] | |||
? "hna_auth_method": hna-auth-method | ? "hna_auth_method": hna-auth-method | |||
? "hna_certificate": tstr | ? "hna_certificate": tstr | |||
} | } | |||
hna-acl = tstr | hna-acl = tstr | |||
hna-auth-method /= "certificate" | hna-auth-method /= "certificate" | |||
For example: | For example: | |||
{ | { | |||
"registered_domain" : "n8d234f.r.example.net", | "registered_domain" : "n8d234f.r.example.net", | |||
"dm" : "2001:db8:1234:111:222::2", | "dm" : "2001:db8:1234:111:222::2", | |||
"dm_transport" : "DoT", | "dm_transport" : "DoT", | |||
"dm_port" : 4433, | "dm_port" : 4433, | |||
"dm_acl" : "2001:db8:1f15:62e:21c::/64" | "dm_acl" : "2001:db8:1f15:62e::/64" | |||
or [ "2001:db8:1f15:62e:21c::/64", ... ] | or [ "2001:db8:1f15:62e::/64", ... ] | |||
"hna_auth_method" : "certificate", | "hna_auth_method" : "certificate", | |||
"hna_certificate" : "-----BEGIN CERTIFICATE-----\nMIIDTjCCFGy....", | "hna_certificate" : "-----BEGIN CERTIFICATE-----\nMIIDTjCCFGy..", | |||
} | } | |||
Registered Homenet Domain (registered_domain) The Domain Name of the | Registered Homenet Domain (registered_domain): The Domain Name of | |||
zone. Multiple Registered Homenet Domains may be provided. This | the zone. Multiple Registered Homenet Domains may be provided. | |||
will generate the creation of multiple Public Homenet Zones. This | This will generate the creation of multiple Public Homenet Zones. | |||
parameter is mandatory. | This parameter is mandatory. | |||
Distribution Manager notification address (dm) The associated FQDNs | Distribution Manager notification address (dm): The associated FQDNs | |||
or IP addresses of the DM to which DNS notifies should be sent. | or IP addresses of the DM to which DNS Notifies should be sent. | |||
This parameter is mandatory. IP addresses are optional and the | This parameter is mandatory. IP addresses are optional, and the | |||
FQDN is sufficient and preferred. If there are concerns about the | FQDN is sufficient and preferred. If there are concerns about the | |||
security of the name to IP translation, then DNSSEC should be | security of the name to IP translation, then DNSSEC should be | |||
employed. | employed. | |||
As the session between the HNA and the DM is authenticated with TLS, | As the session between the HNA and the DM is authenticated with TLS, | |||
the use of names is easier. | the use of names is easier. | |||
As certificates are more commonly emitted for FQDN than for IP | As certificates are more commonly emitted for FQDN than for IP | |||
addresses, it is preferred to use names and authenticate the name of | addresses, it is preferred to use names and authenticate the name of | |||
the DM during the TLS session establishment. | the DM during the TLS session establishment. | |||
Supported Transport (dm_transport): The transport that carries the | Supported Transport (dm_transport): The transport that carries the | |||
DNS exchanges between the HNA and the DM. Typical value is "DoT" | DNS exchanges between the HNA and the DM. The typical value is | |||
but it may be extended in the future with "DoH", "DoQ" for | "DoT", but it may be extended in the future with "DoH" or "DoQ", | |||
example. This parameter is optional and by default the HNA uses | for example. This parameter is optional, and the HNA uses DoT by | |||
DoT. | default. | |||
Distribution Manager Port (dm_port): Indicates the port used by the | Distribution Manager Port (dm_port): Indicates the port used by the | |||
DM. This parameter is optional and the default value is provided | DM. This parameter is optional, and the default value is provided | |||
by the Supported Transport. In the future, additional transport | by the Supported Transport. In the future, an additional | |||
may not have default port, in which case either a default port | transport may not have a default port, in which case either a | |||
needs to be defined or this parameter become mandatory. | default port needs to be defined or this parameter becomes | |||
mandatory. | ||||
Note that HNA does not defines ports for the Synchronization Channel. | Note that HNA does not define ports for the Synchronization Channel. | |||
In any case, this is not expected to part of the configuration, but | In any case, this is not expected to be a part of the configuration | |||
instead negotiated through the Configuration Channel. Currently the | but is instead negotiated through the Configuration Channel. | |||
Configuration Channel does not provide this, and limits its agility | Currently, the Configuration Channel does not provide this and limits | |||
to a dedicated IP address. If such agility is needed in the future, | its agility to a dedicated IP address. If such agility is needed in | |||
additional exchanges will need to be defined. | the future, additional exchanges will need to be defined. | |||
Authentication Method ("hna_auth_method"): How the HNA authenticates | Authentication Method ("hna_auth_method"): How the HNA authenticates | |||
itself to the DM within the TLS connection(s). The authentication | itself to the DM within the TLS connection(s). The authentication | |||
method can typically be "certificate", "psk" or "none". This | method can typically be "certificate", "psk", or "none". This | |||
Parameter is optional and by default the Authentication Method is | parameter is optional, and the Authentication Method is | |||
"certificate". | "certificate" by default. | |||
Authentication data ("hna_certificate", "hna_key"): The certificate | Authentication data ("hna_certificate", "hna_key"): The certificate | |||
chain used to authenticate the HNA. This parameter is optional | chain used to authenticate the HNA. This parameter is optional, | |||
and when not specified, a self-signed certificate is used. | and when not specified, a self-signed certificate is used. | |||
Distribution Manager AXFR permission netmask (dm_acl): The subnet | Distribution Manager AXFR permission netmask (dm_acl): The subnet | |||
from which the CPE should accept SOA queries and AXFR requests. A | from which the CPE should accept SOA queries and AXFR requests. A | |||
subnet is used in the case where the DOI consists of a number of | subnet is used in the case where the DOI consists of a number of | |||
different systems. An array of addresses is permitted. This | different systems. An array of addresses is permitted. This | |||
parameter is optional and if unspecified, the CPE uses the IP | parameter is optional, and if unspecified, the CPE uses the IP | |||
addresses provided by the dm parameter either directly when dm | addresses provided by the dm parameter either directly when the dm | |||
indicates an IP address or the IP addresses returned by the | indicates the IP address(es) returned by the DNS or DNSSEC | |||
DNS(SEC) resolution when dm indicates a FQDN. | resolution when dm indicates an FQDN. | |||
For forward zones, the relationship between the HNA and the forward | For forward zones, the relationship between the HNA and the forward | |||
zone provider may be the result of a number of transactions: | zone provider may be the result of a number of transactions: | |||
1. The forward zone outsourcing may be provided by the maker of the | 1. The forward zone outsourcing may be provided by the maker of the | |||
Homenet router. In this case, the identity and authorization | Homenet router. In this case, the identity and authorization | |||
could be built in the device at manufacturer provisioning time. | could be built in the device at the manufacturer provisioning | |||
time. The device would need to be provisioned with a device- | ||||
The device would need to be provisioned with a device-unique | unique credential, and it is likely that the Registered Homenet | |||
credential, and it is likely that the Registered Homenet Domain | Domain would be derived from a public attribute of the device, | |||
would be derived from a public attribute of the device, such as a | such as a serial number (see Appendix C or [HOMEROUTER-PROVISION] | |||
serial number (see Appendix C or | for more details). | |||
[I-D.richardson-homerouter-provisioning] for more details ). | ||||
2. The forward zone outsourcing may be provided by the Internet | 2. The forward zone outsourcing may be provided by the ISP. In this | |||
Service Provider. In this case, the use of | case, the use of [RFC9527] to provide the credentials is | |||
[I-D.ietf-homenet-naming-architecture-dhc-options] to provide the | appropriate. | |||
credentials is appropriate. | ||||
3. The forward zone may be outsourced to a third party, such as a | 3. The forward zone may be outsourced to a third party, such as a | |||
domain registrar. In this case, the use of the JSON-serialized | domain registrar. In this case, the use of the JSON-serialized | |||
YANG data model described in this section is appropriate, as it | YANG data model described in this section is appropriate, as it | |||
can easily be copy and pasted by the user, or downloaded as part | can easily be copy and pasted by the user or downloaded as part | |||
of a web transaction. | of a web transaction. | |||
For reverse zones, the relationship is always with the upstream ISP | For reverse zones, the relationship is always with the upstream ISP | |||
(although there may be more than one), and so | (although there may be more than one), so [RFC9527] always applies. | |||
[I-D.ietf-homenet-naming-architecture-dhc-options] is always the | ||||
appropriate interface. | ||||
The following is an abbridged example of a set of data that | The following is an abridged example of a set of data that represents | |||
represents the needed configuration parameters for outsourcing. | the needed configuration parameters for outsourcing. | |||
Appendix C. Example: A manufacturer provisioned HNA product flow | Appendix C. Example: A Manufacturer-Provisioned HNA Product Flow | |||
This scenario is one where a homenet router device manufacturer | This scenario is one where a Homenet router device manufacturer | |||
decides to offer DNS hosting as a value add. | decides to offer DNS hosting as a value add. | |||
[I-D.richardson-homerouter-provisioning] describes a process for a | [HOMEROUTER-PROVISION] describes a process for a home router | |||
home router credential provisioning system. The outline of it is | credential provisioning system. The outline of it is that near the | |||
that near the end of the manufacturing process, as part of the | end of the manufacturing process, as part of the firmware loading, | |||
firmware loading, the manufacturer provisions a private key and | the manufacturer provisions a private key and certificate into the | |||
certificate into the device. | device. | |||
In addition to having a assymmetric credential known to the | In addition to having an asymmetric credential known to the | |||
manufacturer, the device also has been provisioned with an agreed | manufacturer, the device also has been provisioned with an agreed- | |||
upon name. In the example in the above document, the name | upon name. In the example in the above document, the name | |||
"n8d234f.r.example.net" has already been allocated and confirmed with | "n8d234f.r.example.net" has already been allocated and confirmed with | |||
the manufacturer. | the manufacturer. | |||
The HNA can use the above domain for itself. It is not very pretty | The HNA can use the above domain for itself. It is not very pretty | |||
or personal, but if the owner wishes a better name, they can arrange | or personal, but if the owner would like to have a better name, they | |||
for it. | can arrange it. | |||
The configuration would look like: | The configuration would look like the following: | |||
{ | { | |||
"dm" : "2001:db8:1234:111:222::2", | "dm" : "2001:db8:1234:111:222::2", | |||
"dm_acl" : "2001:db8:1234:111:222::/64", | "dm_acl" : "2001:db8:1234:111:222::/64", | |||
"dm_ctrl" : "manufacturer.example.net", | "dm_ctrl" : "manufacturer.example.net", | |||
"dm_port" : "4433", | "dm_port" : "4433", | |||
"ns_list" : [ "ns1.publicdns.example", "ns2.publicdns.example"], | "ns_list" : [ "ns1.publicdns.example", "ns2.publicdns.example"], | |||
"zone" : "n8d234f.r.example.net", | "zone" : "n8d234f.r.example.net", | |||
"auth_method" : "certificate", | "auth_method" : "certificate", | |||
"hna_certificate":"-----BEGIN CERTIFICATE-----\nMIIDTjCCFGy....", | "hna_certificate":"-----BEGIN CERTIFICATE-----\nMIIDTjCCFGy....", | |||
} | } | |||
The dm_ctrl and dm_port values would be built into the firmware. | The dm_ctrl and dm_port values would be built into the firmware. | |||
Acknowledgments | ||||
The authors wish to thank Philippe Lemordant for his contributions to | ||||
the earlier draft versions of this document; Ole Troan for pointing | ||||
out issues with the IPv6-routed home concept and placing the scope of | ||||
this document in a wider picture; Mark Townsley for encouragement and | ||||
injecting a healthy debate on the merits of the idea; Ulrik de Bie | ||||
for providing alternative solutions; Paul Mockapetris, Christian | ||||
Jacquenet, Francis Dupont, and Ludovic Eschard for their remarks on | ||||
HNA and low power devices; Olafur Gudmundsson for clarifying DNSSEC | ||||
capabilities of small devices; Simon Kelley for its feedback as | ||||
dnsmasq implementer; Andrew Sullivan, Mark Andrew, Ted Lemon, Mikael | ||||
Abrahamson, Stephen Farrell, and Ray Bellis for their feedback on | ||||
handling different views as well as clarifying the impact of | ||||
outsourcing the zone-signing operation outside the HNA; and Mark | ||||
Andrew and Peter Koch for clarifying the renumbering. | ||||
The authors would like to thank Kiran Makhijani for her in-depth | ||||
review that contributed to shaping the final version of this | ||||
document. | ||||
The authors would also like to thank our Area Director Éric Vyncke | ||||
for his constant support and pushing the document through the IESG | ||||
process and the many reviewers from various directorates including | ||||
Anthony Somerset, Geoff Huston, Tim Chown, Tim Wicinski, Matt Brown, | ||||
Darrel Miller, and Christer Holmberg. | ||||
Contributors | ||||
The coauthors would like to thank Chris Griffiths and Wouter Cloetens | ||||
for providing significant contributions to the earlier draft versions | ||||
of this document. | ||||
Authors' Addresses | Authors' Addresses | |||
Daniel Migault | Daniel Migault | |||
Ericsson | Ericsson | |||
8275 Trans Canada Route | 8275 Trans Canada Route | |||
Saint Laurent, QC 4S 0B6 | Saint Laurent QC 4S 0B6 | |||
Canada | Canada | |||
Email: daniel.migault@ericsson.com | Email: daniel.migault@ericsson.com | |||
Ralf Weber | Ralf Weber | |||
Nominum | Nominum | |||
2000 Seaport Blvd | 2000 Seaport Blvd. | |||
Redwood City, 94063 | Redwood City, CA 94063 | |||
United States of America | United States of America | |||
Email: ralf.weber@nominum.com | Email: ralf.weber@nominum.com | |||
Michael Richardson | Michael Richardson | |||
Sandelman Software Works | Sandelman Software Works | |||
470 Dawson Avenue | 470 Dawson Avenue | |||
Ottawa, ON K1Z 5V7 | Ottawa ON K1Z 5V7 | |||
Canada | Canada | |||
Email: mcr+ietf@sandelman.ca | Email: mcr+ietf@sandelman.ca | |||
Ray Hunter | Ray Hunter | |||
Globis Consulting BV | Globis Consulting BV | |||
Weegschaalstraat 3 | Weegschaalstraat 3 | |||
5632CW Eindhoven | 5632CW Eindhoven | |||
Netherlands | Netherlands | |||
Email: v6ops@globis.net | Email: v6ops@globis.net | |||
End of changes. 336 change blocks. | ||||
884 lines changed or deleted | 879 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |