<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.21 (Ruby 3.0.2) -->

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-homenet-front-end-naming-delegation-27" number="9526" submissionType="IETF" category="exp" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" updates="" obsoletes="" xml:lang="en" version="3">

  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title abbrev="Public Names for Residential Networks">Simple Provisioning of Public Names for Residential Networks</title>
    <seriesInfo name="RFC" value="9526"/>
    <author initials="D." surname="Migault" fullname="Daniel Migault">
      <organization>Ericsson</organization>
      <address>
        <postal>
          <street>8275 Trans Canada Route</street>
          <city>Saint Laurent</city>
	  <region>QC</region>
          <code>4S 0B6</code>
          <country>Canada</country>
        </postal>
        <email>daniel.migault@ericsson.com</email>
      </address>
    </author>
    <author initials="R." surname="Weber" fullname="Ralf Weber">
      <organization>Nominum</organization>
      <address>
        <postal>
          <street>2000 Seaport Blvd.</street>
          <city>Redwood City</city>
	  <region>CA</region>
          <code>94063</code>
          <country>United States of America</country>
        </postal>
        <email>ralf.weber@nominum.com</email>
      </address>
    </author>
    <author initials="M." surname="Richardson" fullname="Michael Richardson">
      <organization>Sandelman Software Works</organization>
      <address>
        <postal>
          <street>470 Dawson Avenue</street>
          <city>Ottawa</city>
	  <region>ON</region>
          <code>K1Z 5V7</code>
          <country>Canada</country>
        </postal>
        <email>mcr+ietf@sandelman.ca</email>
      </address>
    </author>
    <author initials="R." surname="Hunter" fullname="Ray Hunter">
      <organization>Globis Consulting BV</organization>
      <address>
        <postal>
          <street>Weegschaalstraat 3</street>
          <city>Eindhoven</city>
          <code>5632CW</code>
          <country>Netherlands</country>
        </postal>
        <email>v6ops@globis.net</email>
      </address>
    </author>
    <date year="2024" month="January"/>

    <area>Internet</area>
    <workgroup>Homenet</workgroup>

    <abstract>
      <t>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 outside of the home network). Home networks are increasingly numbered using IPv6 addresses, which in principle makes this access simpler, but accessing home networks from the Internet requires the names and IP addresses of these devices and services to be made available in the public DNS.</t>
      <t>This document describes how a Home Naming Authority (NHA) instructs the outsourced infrastructure to publish these pieces of information 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 (HNA), which in turn instructs an outsourced infrastructure to publish the zone on behalf of the home network owner.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>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 outside of the
home network).
The use of IPv6 addresses in the home makes, in principle, the actual network access simpler, while on the other hand, the addresses are much harder to remember and are subject to regular renumbering.
To make this situation simpler for typical home owners to manage, there needs to be an easy way for the names and IP addresses of these devices and services to be published in the public DNS.</t>
      <t>As depicted in <xref target="fig-outsourcing-overview"/>, the names and IP address of the home network are made available in the Public Homenet Zone by the Homenet Naming Authority (HNA), which in turn instructs the DNS Outsourcing Infrastructure (DOI) to publish the zone on behalf of the HNA.
This document describes how an HNA can instruct a DOI to publish a Public Homenet Zone on its behalf.</t>
      <t>This document introduces the Synchronization Channel and the Control Channel between the HNA and the  Distribution Manager (DM), which is the main interface to the DOI.</t>
      <t>The Synchronization Channel (see <xref target="sec-synch"/>) is used to synchronize the Public Homenet Zone.</t>
      <figure anchor="fig-outsourcing-overview">
        <name>High-Level Architecture Overview of Outsourcing the Public Homenet Zone</name>
        <artwork align="center"><![CDATA[
                               Internet       
.---------------------.           .-------------------. 
|      Home Network   | Control   |        DOI        | 
|.-------------------.| Channel   |.-----------------.| 
||         HNA       |<----------->|  Distribution   || 
||.-----------------.||           ||  Manager        || 
|||  Public Homenet |||           ||                 ||   
|||       Zone      ||<----------->|                 || 
||| myhome.example  ||| Synchron- |'-----------------'| 
||'-----------------'|| ization   |         |         |
|'-------------------'| Channel   |         V         |   
|                     |           |.-----------------.|   
|                     |           ||  Public Homenet ||   
'---------------------'           ||       Zone      ||   
                                  || myhome.example  ||
                                  |'-----------------'|
                                  '---^--^--^--^--^---'
                                      |  |  |  |  |
                                 (served on the Internet)
]]></artwork>
      </figure>
      <t>The Synchronization Channel is a zone transfer, with the HNA configured as a primary server and the Distribution Manager configured as a secondary server.
Some operators refer to this kind of configuration as a "hidden primary", but that term is not used in this document as it is not precisely defined anywhere, but it has many slightly different meanings to many.</t>
      <t>The Control Channel (see <xref target="sec-ctrl"/>) is used to set up the Synchronization Channel.
      This channel is in the form of a dynamic DNS update process, authenticated by TLS.</t>
  
      <t>For example, to build the Public Homenet Zone, the HNA needs the authoritative servers (and associated IP addresses) of the DOI's servers (the visible primaries) that are actually serving the zone.
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 (KSK) in the DS RRset to secure the DNSSEC delegation with the parent zone.</t>
<t>The remainder of the document is as follows.</t>
      <t><xref target="terminology"/> defines the terminology.
<xref target="selectingnames"/> presents the general problem of publishing names and IP addresses. <xref target="sec-deployment"/> briefly describes some potential envisioned deployment scenarios.
 And <xref target="sec-arch-desc"/> provides an architectural view of the  HNA, DM, and DOI as well as their different communication channels (Control Channel, Synchronization Channel, and DM Distribution Channel) described in Sections <xref target="sec-ctrl" format="counter"/>, <xref target="sec-synch" format="counter"/>, and <xref target="sec-dist" format="counter"/>, respectively.</t>
      <t>Then, Sections <xref target="sec-ctrl" format="counter"/> and <xref target="sec-synch" format="counter"/> deal with the two channels that interface to the home.
<xref target="sec-dist"/> provides a set of requirements and expectations on how the distribution system works.  This section is non-normative and not subject to standardization but reflects how many scalable DNS distribution systems operate.</t>
      <t>Sections <xref target="sec-cpe-sec-policies" format="counter"/> and <xref target="sec-dnssec-deployment" format="counter"/> respectively detail HNA security policies as well as DNSSEC compliance within the home network.</t>
      <t><xref target="sec-renumbering"/> discusses how renumbering should be handled.</t>
      <t>Finally, Sections <xref target="sec-privacy" format="counter"/> and <xref target="sec-security" format="counter"/> respectively discuss privacy and security considerations when outsourcing the Public Homenet Zone.</t>
      <t>The appendices discuss the following aspects: management (see <xref target="sec-reverse"/>), provisioning (see <xref target="sec-reverse"/>), configurations (see <xref target="info-model"/>), and deployment (see <xref target="sec-deployment"/> and <xref target="sec-ex-manu"/>).</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <dl>
        <dt>Customer Premises Equipment (CPE):</dt>
        <dd>
          <t>A router providing connectivity to the home network.</t>
        </dd>
        <dt>Homenet Zone:</dt>
        <dd>
          <t>The DNS zone for use within the boundaries of the home network: "home.arpa" (see <xref target="RFC8375"/>).
This zone is not considered public and is out of scope for this document.</t>
        </dd>
        <dt>Registered Homenet Domain:</dt>
        <dd>
          <t>The domain name that is associated with the home network. A given home network may have multiple Registered Homenet Domains.</t>
        </dd>
        <dt>Public Homenet Zone:</dt>
        <dd>
          <t>Contains the names in the home network that are expected to be publicly resolvable on the Internet. A home network can have multiple Public Homenet Zones.</t>
        </dd>
        <dt>Homenet Naming Authority (HNA):</dt>
        <dd>
          <t>A function responsible for managing the Public Homenet Zone.
This includes populating the Public Homenet Zone, signing the zone for DNSSEC, as well as managing the distribution of that Homenet Zone to the DOI.</t>
        </dd>
        <dt>DNS Outsourcing Infrastructure (DOI):</dt>
        <dd>
          <t>The infrastructure responsible for receiving the Public Homenet Zone and publishing it on the Internet.
It is mainly composed of a Distribution Manager and Public Authoritative Servers.</t>
        </dd>
        <dt>Public Authoritative Servers:</dt>
        <dd>
          <t>The authoritative name servers for the Public Homenet Zone.
Name resolution requests for the Registered Homenet Domain are sent to these servers.
Some DNS operators refer to these as public secondaries, and higher resiliency networks are often implemented in an anycast fashion.</t>
        </dd>
        <dt>Homenet Authoritative Servers:</dt>
        <dd>
          <t>The authoritative name servers for the Homenet Zone within the Homenet network itself. These are sometimes called "hidden primary servers".</t>
        </dd>
        <dt>Distribution Manager (DM):</dt>
        <dd>
          <t>The server (or set of servers) that the HNA synchronizes the Public Homenet Zone to and that then distributes the relevant information to the Public Authoritative Servers. This server has been historically known as the Distribution Master.</t>
        </dd>
        <dt>Public Homenet Reverse Zone:</dt>
        <dd>
          <t>The reverse zone file associated with the Public Homenet Zone.</t>
        </dd>
        <dt>Reverse Public Authoritative Servers:</dt>
        <dd>
          <t>These are equivalent to Public Authoritative Servers, specifically for reverse resolution.</t>
        </dd>
        <dt>Reverse Distribution Manager:</dt>
        <dd>
          <t>This is equivalent to the Distribution Manager, specifically for reverse resolution.</t>
        </dd>
        <dt>DNS Resolver:</dt>
        <dd>
          <t>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 <bcp14>RECOMMENDED</bcp14> that DNSSEC is enabled. </t>
	    <t>Note that when "DNS Resolver" is used in this document, it refers to "DNS or DNSSEC Resolver".</t>
        </dd>
  <dt>Homenet DNS Resolver:</dt>
        <dd>
          <t>A resolver that performs a DNS or DNSSEC resolution on the home network for the Public Homenet Zone. The resolution is performed by requesting the Homenet Authoritative Servers.</t>
        </dd>
      </dl>
    </section>
    <section anchor="selectingnames">
      <name>Selecting Names and Addresses to Publish</name>
      <t>While this document does not create any normative mechanism to select the names to publish, it does anticipate that the home network administrator (a human being) will be presented with a list of current names and addresses either directly on the HNA or via another device such as a smartphone.</t>
      <t>The administrator will mark which devices and services (by name) are to be published. The HNA will then collect the IP address(es) associated with that device or service and put the name into the Public Homenet Zone. The address of the device or service can be collected from a number of places: Multicast DNS (mDNS) <xref target="RFC6762"/>, DHCP <xref target="RFC8415"/>, Universal Plug and Play (UPnP), the Port Control Protocol (PCP) <xref target="RFC6887"/>, or manual configuration.</t>    
      <t>A device or service <bcp14>SHOULD</bcp14> have Global Unicast Addresses (GUAs) (IPv6 <xref target="RFC3587"/> or IPv4) but <bcp14>MAY</bcp14> also have IPv6 Unique Local Addresses (ULAs) <xref target="RFC4193"/>, IPv6 Link-Local Addresses (LLAs) <xref target="RFC4291"/> <xref target="RFC7404"/>, IPv4 LLAs <xref target="RFC3927"/>, and private IPv4 addresses <xref target="RFC1918"/>.</t>
      <t>Of these, the LLAs are almost never useful for the Public Zone and should be omitted.</t>
      <t>The IPv6 ULA and private IPv4 addresses may be useful to publish, if the home network environment features a VPN that would allow the home owner to reach the network. <xref target="RFC1918"/> addresses in public zones are generally filtered out by many DNS servers as they are considered rebind attacks <xref target="REBIND"/>.</t>
      <t>In general, one expects the GUA to be the default address to be published.
A direct advantage of enabling local communication is to enable communications even in case of Internet disruption. Since communications are established with names that remain a global identifier, the communication can be protected (at the very least with integrity protection) by TLS the same way it is protected on the global Internet -- by using certificates.</t>
    </section>
    <section anchor="sec-deployment">
      <name>Envisioned Deployment Scenarios</name>
      <t>A number of deployment scenarios have been envisioned; this section aims at
providing a brief description. The use cases are not limitations, and this section is not normative.</t>
      <t>The main difference between the various deployments concerns the 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 Homenet Zone is being provisioned before being outsourced.
In both cases, these configuration aspects are out of the scope of this document.</t>
      <t>Provisioning the configuration related to the DOI is expected to be automated as much as possible and require interaction with the end user as little as possible.
Zero configuration can only be achieved under some circumstances, and <xref target="RFC9527"/> provides one such example under the assumption that the ISP provides the DOI. <xref target="sec-cpe-vendor"/> describes another variant where the Customer Premises Equipment (CPE) is provided preconfigured with the DOI.
<xref target="sec-agnostic-cpe"/> describes how an agnostic CPE may be configured by the home network administrator.
      Of course even in this case, the configuration can leverage mechanisms to prevent the end user from manually entering all information.</t>     
      <t>On the other hand, provisioning the Public Homenet Zone needs to combine the ability to closely reflect what the end user wishes to publish on the Internet while easing such interaction.
The HNA may implement such interactions using web-based GUIs or specific mobile applications.</t>
      <t>With the CPE configured with the DOI, the HNA contacts the DOI to build a template for the
Public Homenet Zone and then provisions the Public Homenet Zone.
Once the Public Homenet Zone is built, the HNA starts synchronizing it with the DOI on the Synchronization Channel.</t>
      <section anchor="sec-cpe-vendor">
        <name>CPE Vendor</name>
        <t>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 a domain name is probably not human friendly and may consist of some kind of serial number associated with the device being sold.</t>
        <t>One possible scenario is that the vendor provisions the HNA with a private key with an associated certificate used for the mutual TLS authentication.
Note that these keys are not expected to be used for DNSSEC signing.</t>
<t>Instead, these keys are solely used by the HNA for the authentication to the DM.
Normally, the keys are necessary and sufficient to proceed to the authentication.</t>
        <t>When the home network owner plugs in the CPE at home, the relation between the HNA and DM is expected to work out of the box.</t>
      </section>
      <section anchor="sec-agnostic-cpe">
        <name>Agnostic CPE</name>
        <t>A CPE that is not preconfigured may also use the protocol
defined in this document, but some configuration steps will be needed.</t>
<ol spacing="normal" type="1">
  <li>The owner of the home network buys a domain name from a registrar and,
as such, creates an account on that registrar.</li>
  <li>The registrar may provide the outsourcing infrastructure,
or the home network may need to create a specific account on the
outsourcing infrastructure.</li>
        </ol>
        <ul spacing="normal">
          <li>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, it is expected that the DOI provides the necessary parameters to the home network owner to configure the HNA. One potential mechanism to provide the parameters would be to provide the user with a JSON object that they can copy and paste into the CPE, such as described in <xref target="info-model"/>.
But what matters to the infrastructure is that the HNA is able to authenticate itself to the DOI.</li>
          <li>If the DOI is not the DNS Registrar, then the proof of ownership needs to be established using some other protocol.
	  Automatic Certificate Management Environment (ACME) <xref target="RFC8555"/> is one protocol that would allow an owner of an existing domain name to prove their ownership (but it requires that they have DNS already set up!). There are other ways to establish proof such as providing a DOI-generated TXT record, or web site contents, as championed by entities like Google's Sitemaster and Postmaster protocols.
<xref target="I-D.ietf-dnsop-domain-verification-techniques"/> describes a few ways ownership or control of a domain can be achieved.</li>
        </ul>
      </section>
    </section>
    <section anchor="sec-arch-desc">
      <name>Architecture Description</name>
      <t>This section provides an overview of the architecture for outsourcing the authoritative naming service from the HNA to the DOI.
As a consequence, this prevents HNA from handling the DNS traffic from the Internet that is associated with the resolution of the Homenet Zone.</t>
      <t>The device-assigned zone or user-configurable zone that is used as the domain to publicly serve hostnames in the home network is called the Public Homenet Zone. 
In this document, "myhome.example" is used as the example for an end-user-owned domain configured as a Public Homenet Zone.</t>
      <t>More specifically, DNS resolution for the Public Homenet Zone (here "myhome.example") from Internet DNSSEC resolvers is handled by the DOI as opposed to the HNA.
The DOI benefits from a cloud infrastructure while the HNA is dimensioned for a home network and, as such, is likely unable to support any load.
In the case where the HNA is a CPE, outsourcing to the DOI reduces the attack surface of the home network to DDoS, for example.
      Of course, the DOI needs to be informed dynamically about the content of myhome.example. The description of such a synchronization mechanism is the purpose of this document.</t>
      
      <t>Note that <xref target="info-model"/> shows the necessary parameters to configure the HNA.</t>
      <section anchor="sec-arch-overview">
        <name>Architecture Overview</name>
        <figure anchor="fig-naming-arch">
          <name>Homenet Naming Architecture</name>
          <artwork align="center"><![CDATA[
.----------------------------.         .-----------------------------.
|        Home Network        |         |          Internet           |
| .-----------------------.  | Control |  .-----------------------.  |
| |          HNA          |  | Channel |  |          DOI          |  |
| |   (hidden primary)    |<------------->|   (hidden secondary)  |  |
| |                       |  | DNSUPD  |  |  Distribution Manager |  |
| | .-------------------. |  |         |  |                       |  |
| | |  Public Homenet   | |  |         |  |  .-------------------.|  |
| | |       Zone        |<------------------>|Public Homenet Zone||  |
| | | myhome.example    | |  |Synchron-|  |  | myhome.example    ||  |
| | '-------------------' |  |ization  |  |  '-------------------'|  |
| '-----------------------'  |Channel  |  |             |         |  |
|             ^              |  AXFR   |  |             |         |  |
|             |              |         |  |             v         |  |
| .-----------------------.  |         |  |.---------------------.|  |
| | Homenet Authoritative |  |         |  || Public Authoritative||  |
| |        Server         |  |         |  || (secondary) Servers ||  |
| | + myhome.example      |  |         |  || + myhome.example    ||  |
| | + home.arpa           |  |         |  || + x.y.z.ip6.arpa    ||  |
| | + x.y.z.ip6.arpa      |  |         |  ||                     ||  |
| '-----------------------'  |         |  ||                     ||  | 
|        |       ^           |         |  |'---------------------'|  |
|        |       |           |         |  |  ^            |       |  |
|        |       |           |         |  '--|------------|-------'  |
|        v       |           |         |     |            v          |
|  .----------------------.  |         | .------------------------.  |
|  | Homenet DNS Resolver |  |         | |   Internet Resolvers   |  |
|  '----------------------'  |         | '------------------------'  |
|                            |         |                             |
'----------------------------'         |                             |
                                       '-----------------------------'
]]></artwork>
        </figure>
        <t><xref target="fig-naming-arch"/> illustrates the architecture where the HNA outsources the publication of the Public Homenet Zone to the DOI.
The DOI will serve every DNS request of the Public Homenet Zone coming from outside the home network. When the request is coming from within the home network, the resolution is expected to be handled by the Homenet DNS Resolver as further detailed below.</t>
        <t>In this example, the Public Homenet Zone is identified by the Registered Homenet Domain name "myhome.example".
	This diagram also shows a reverse IPv6 map being hosted.</t>
	
        <t>".local" and ".home.arpa" are explicitly not considered Public Homenet Zones; therefore, they are represented as a Homenet Zone in <xref target="fig-naming-arch"/>.
They are resolved locally but are not published because they are considered local content.</t>
        <t>It is <bcp14>RECOMMENDED</bcp14> that the HNA implements DNSSEC, in which case the HNA <bcp14>MUST</bcp14> sign the Public Homenet Zone with DNSSEC.</t>
        <t>The HNA handles all operations and keying material required for DNSSEC, so there is no provision made in this architecture for transferring private DNSSEC-related keying material between the HNA and the DM.</t>
        <t>Once the Public Homenet Zone has been built, the HNA communicates and synchronizes it with the DOI using a primary/secondary setting as depicted in <xref target="fig-naming-arch"/>.
The HNA acts as a stealth server (see <xref target="RFC8499"/>) while the DM behaves as a hidden secondary. It is responsible for distributing the Public Homenet Zone to the multiple Public Authoritative Server instances that DOI is responsible for. The DM has three communication channels:</t>
        <ul spacing="normal">
          <li>DM Control Channel (<xref target="sec-ctrl"/>) to configure the HNA and the DOI. This includes necessary parameters to configure the primary/secondary relation as well as some information provided by the DOI that needs to be included by the HNA in the Public Homenet Zone.</li>
          <li>DM Synchronization Channel (<xref target="sec-synch"/>) to synchronize the Public Homenet Zone on the HNA and on the DM with the appropriately configured primary/secondary.
This is a zone transfer over mutually authenticated TLS.</li>
          <li>One or more Distribution Channels (<xref target="sec-dist"/>) that distribute the Public Homenet Zone from the DM to the Public Authoritative Servers serving the Public Homenet Zone on the Internet.</li>
        </ul>
        <t>There might be multiple DMs and multiple servers per the DM.
This 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 use the same code base.</t>
        <t>It is important to note that while the HNA is configured as an authoritative server, it is not expected to answer DNS requests from the <em>public</em> Internet for the Public Homenet Zone.
More specifically, the addresses associated with the HNA <bcp14>SHOULD NOT</bcp14> be mentioned in the NS records of the Public Homenet Zone, unless additional security provisions necessary to protect the HNA from external attack have been taken.</t>
        <t>The DOI is also responsible for ensuring the DS record has been updated in the parent zone.</t>
        <t>Resolution is performed by DNS Resolvers.
When the resolution is performed outside the home network, the DNS Resolver resolves the DS record on the Global DNS and the name associated with the Public Homenet Zone (myhome.example) on the Public Authoritative Servers.</t>
        <t>In order to provide resilience to the Public Homenet Zone in case of WAN connectivity disruption, the Homenet DNS Resolver <bcp14>MUST</bcp14> be able to perform the resolution on the Homenet Authoritative Servers.
Note that the use of the Homenet DNS Resolver enhances privacy since the user on the home network would no longer be leaking interactions with internal services to an external DNS provider and to an on-path observer.
These servers are not expected to be mentioned in the Public Homenet Zone nor to be accessible from the Internet.
As such, their information as well as the corresponding signed DS record <bcp14>MAY</bcp14> be provided by the HNA to the Homenet DNS Resolvers, e.g., by using the Home Networking Control Protocol (HNCP) <xref target="RFC7788"/> or by configuring a trust anchor <xref target="I-D.ietf-dnsop-dnssec-validator-requirements"/>.
Such configuration is outside the scope of this document.
Since the scope of the Homenet Authoritative Servers is limited to the home network, these servers are expected to serve the Homenet Zone as represented in <xref target="fig-naming-arch"/>.</t>
      </section>
      <section anchor="sec-comms">
        <name>Distribution Manager (DM) Communication Channels</name>
        <t>This section details the DM channels: the Control Channel, Synchronization Channel, and Distribution Channel.</t>
        <t>The Control Channel and the Synchronization Channel are the interfaces used between the HNA and the DOI. The entity within the DOI responsible for handling these communications is the DM. Communications between the HNA and the DM <bcp14>MUST</bcp14> be protected and mutually authenticated.
The different protocols that can be used for security are discussed in more depth in <xref target="sec-ctrl-security"/>.</t>
        <t>The information exchanged between the HNA and the DM uses DNS messages protected by DNS over TLS (DoT) <xref target="RFC7858"/>.
	This is configured identically to that described in <xref target="RFC9103" sectionFormat="comma" section="9.3.3"/>.</t>
	
        <t>It is worth noting that both the DM and HNA need to agree on a common configuration in order to set up the Synchronization Channel and build and serve a coherent Public Homenet Zone.
As previously noted, the visible NS records of the Public Homenet Zone (built by the HNA) remain pointing at the IP address of the DOI's Public Authoritative Servers.
Unless the HNA is able to support the traffic load, the HNA <bcp14>SHOULD NOT</bcp14> appear as a visible NS record of the Public Homenet Zone. 
In addition, and depending on the configuration of the DOI, the DM also needs to update the parent zone's NS, DS, and associated A or AAAA glue records.
Refer to <xref target="sec-chain-of-trust"/> for more details.</t>
        <t>This specification assumes:</t>
        <ul spacing="normal">	  
          <li>The DM serves both the Control Channel and Synchronization Channel on a single IP address, on a single port, and by using a single transport protocol.</li>
          <li>By default, the HNA uses a single IP address for both the Control and Synchronization channels; however, the HNA <bcp14>MAY</bcp14> use distinct IP addresses for the Control Channel and the Synchronization Channel -- see Sections <xref target="sec-synch" format="counter"/> and <xref target="sec-sync-info" format="counter"/> for more details.</li>
        </ul>
        <t>The Distribution Channel is internal to the DOI and, as such, is not normatively defined by this specification.</t>
      </section>
    </section>
    <section anchor="sec-ctrl">
      <name>Control Channel</name>
      <t>The DM Control Channel is used by the HNA and the DOI to exchange information related to the configuration of the delegation, which includes information to build the Public Homenet Zone (<xref target="sec-pbl-homenet-zone"/>), to build the DNSSEC chain of trust (<xref target="sec-chain-of-trust"/>), and to set the Synchronization Channel (<xref target="sec-sync-info"/>).</t>
      <t>Some information is carried from the DOI to the HNA, as described in the next section.
The HNA updates the DOI with the IP address on which the zone is to be transferred using the Synchronization Channel.
The HNA is always initiating the exchange in both directions.</t>
      <t>As such, the HNA has a prior knowledge of the DM identity (via an X.509 certificate), the IP address and port number to use, and the protocol to establish a secure session.
      The DM acquires knowledge of the identity of the HNA (X.509 certificate) as well as the Registered Homenet Domain. For more detail on how this can be achieved, please see <xref target="hna-provisioning"/>.</t>
      <section anchor="sec-pbl-homenet-zone">
        <name>Building the Public Homenet Zone</name>
        <t>The HNA builds the Public Homenet Zone based on a template that is returned by the DM to the HNA.  <xref target="sec-ctrl-messages"/> explains how this leverages the Authoritative Transfer (AXFR) mechanism.</t>
        <t>In order to build its zone completely, the HNA needs the names (and possibly IP addresses) of the Public Authoritative Name Servers.
These are used to populate the NS records for the zone.
All the content of the zone <bcp14>MUST</bcp14> be created by the HNA because the zone is DNSSEC signed.</t>
        <t>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 <bcp14>MUST</bcp14> also provide useful operational parameters such as other fields of the SOA (SERIAL, RNAME, REFRESH, RETRY, EXPIRE, and MINIMUM); however, the HNA is free to override these values based upon local configuration.
For instance, an HNA might want to change these values if it thinks that a renumbering event is approaching.</t>
        <t>Because the information associated with the DM is necessary for the HNA to proceed, this information exchange is mandatory.</t>
        <t>The HNA then performs a DNS Update operation to the DOI, updating the DOI with an NS, a DS, and A and AAAA records. These indicate where its Synchronization Channel is.
The DOI does not publish this NS record but uses it to perform zone transfers.</t>
      </section>
      <section anchor="sec-chain-of-trust">
        <name>Building the DNSSEC Chain of Trust</name>
        <t>The HNA <bcp14>MUST</bcp14> provide the hash of the KSK via the DS RRset so that the DOI can provide this value to the parent zone.
A common deployment use case is that the DOI is the registrar of the Registered Homenet Domain; therefore, its relationship with the registry of the parent zone enables it to update the parent zone. When such relation exists, the HNA should be able to request the DOI to update the DS RRset in the parent zone.
A direct update is especially necessary to initialize the chain of trust.</t>
        <t>Though the HNA may also directly update the values of the DS via the Control Channel at a later time, it is <bcp14>RECOMMENDED</bcp14> to use other mechanisms such as CDS and CDNSKEY <xref target="RFC7344"/> for transparent updates during key rollovers.</t>
        <t>As some deployments may not provide a DOI that will be able to update the DS in the parent zone, this information exchange is <bcp14>OPTIONAL</bcp14>.</t>
        <t>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 to advertise the DS to the parent  zone, it indicates this by refusing the update to the DS RR.</t>
      </section>
      <section anchor="sec-sync-info">
        <name>Setting Up the Synchronization Channel</name>
        <t>The HNA works as a hidden primary authoritative DNS server while the DM works like a secondary one.
As a result, the HNA needs to provide the IP address that the DM should use to reach the HNA.</t>
        <t>If the HNA detects that it has been renumbered, then it <bcp14>MUST</bcp14> use the Control Channel to update the DOI with the new IPv6 address it has been assigned.</t>
        <t>The Synchronization Channel will be set between the new IPv6 (and 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 DM, and the explicit specification of the IP by the HNA is only <bcp14>OPTIONAL</bcp14>.
The transport channel (including the port number) is the same as the one used between the HNA and the DM for the Control Channel.</t>
      </section>
      <section anchor="deleting-the-delegation">
        <name>Deleting the Delegation</name>
        <t>The purpose of the previous sections is to exchange information in order to set a delegation.
The HNA <bcp14>MUST</bcp14> also be able to delete a delegation with a specific DM.</t>
        <t><xref target="sec-zone-delete"/> explains how a DNS Update operation on the Control Channel is used.</t>
        <t>Upon receiving the instruction to delete the delegation, the DM <bcp14>MUST</bcp14> stop serving the Public Homenet Zone.</t>
        <t>The decision to delete an inactive HNA by the DM is part of the commercial agreement between the DOI and HNA.</t>
      </section>
      <section anchor="sec-ctrl-messages">
        <name>Message Exchange Description</name>
        <t>Multiple ways were considered on how the control information could be exchanged between  the HNA and the DM.</t>
        <t>This specification defines a mechanism that reuses the DNS zone transfer format.
Note that while information is provided using DNS exchanges, the exchanged information is not expected to be set in any 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 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 information in, for instance, JSON seemed to add complexity for no return on investment.</t>
        <t>The Control Channel is not expected to be a long-term session.
After a predefined timer (similar to those used for TCP), the Control Channel is expected to be terminated by closing the transport channel. The Control Channel <bcp14>MAY</bcp14> be reopened at any later time.</t>
        <t>The use of TLS session tickets (see <xref section="4.6.1" sectionFormat="comma" target="RFC8446"/>) is <bcp14>RECOMMENDED</bcp14>.</t>
        <t>The authentication of the channel <bcp14>MUST</bcp14> be based on certificates for both the DM and each HNA.
The DM may also create the initial configuration for the delegation zone in the parent zone during the provisioning process.</t>
        <section anchor="zonetemplate">
          <name>Retrieving Information for the Public Homenet Zone</name>
          <t>The information provided by the DM to the HNA is retrieved by the HNA with an AXFR exchange <xref target="RFC1034"/>.
AXFR enables the response to contain any type of RRsets.</t>
          <t>To retrieve the necessary information to build the Public Homenet Zone, the HNA <bcp14>MUST</bcp14> send a DNS request of type AXFR associated with the Registered Homenet Domain.</t>
          <t>The zone that is returned by the DM is used by the HNA as a template to build its own zone.</t>
          <t>The zone template <bcp14>MUST</bcp14> contain an RRset of type SOA, one or multiple RRsets of type NS, and zero or more RRsets of type A or AAAA (if the NS is in-domain <xref target="RFC8499"/>). The zone template will include Time-To-Live (TTL) values for each RR, and the HNA <bcp14>SHOULD</bcp14> take these as suggested maximum values, but it <bcp14>MAY</bcp14> use lower values for operational reasons, such as for impending renumbering events.</t>
          <ul spacing="normal">
            <li>The SOA RR indicates the value of the MNAME of the Public Homenet Zone to the HNA.</li>
            <li>The NAME of the SOA RR <bcp14>MUST</bcp14> be the Registered Homenet Domain.</li>
            <li>The MNAME value of the SOA RDATA is the value provided by the DOI to the HNA.</li>
            <li>Other RDATA values (RNAME, REFRESH, RETRY, EXPIRE, and MINIMUM) are provided by the DOI as suggestions.</li>
          </ul>
          <t>The NS RRsets carry the Public Authoritative Servers of the DOI.
Their associated NAME <bcp14>MUST</bcp14> be the Registered Homenet Domain.</t>
          <t>In addition to the considerations above about default TTL, the HNA <bcp14>SHOULD</bcp14>
take care to not pick a TTL larger than the parent NS, based upon the resolver's guidelines in <xref target="I-D.ietf-dnsop-ns-revalidation"/> and <xref target="I-D.ietf-dnsop-dnssec-validator-requirements"/>.
	  The RRsets of Type A and AAAA <bcp14>MUST</bcp14> have their NAME matching the NSDNAME of one of the NS RRsets.</t>
	  
          <t>Upon receiving the response, the HNA <bcp14>MUST</bcp14> validate the format and properties of the SOA, NS, and A or AAAA RRsets.
If an error occurs, the HNA <bcp14>MUST</bcp14> stop proceeding and <bcp14>MUST</bcp14> log an error.
Otherwise, 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 <bcp14>MUST NOT</bcp14> exceed the values of NAME, REFRESH, RETRY, EXPIRE, and MINIMUM of the SOA provided by the AXFR response. The HNA <bcp14>MUST</bcp14> insert the NS and corresponding A or AAAA RRsets in its Public Homenet Zone. The HNA <bcp14>MUST</bcp14> ignore other RRsets.</t>
          <t>If an error message is returned by the DM, the HNA <bcp14>MUST</bcp14> proceed as a regular DNS resolution. Error messages <bcp14>SHOULD</bcp14> be logged for further analysis.
If the resolution does not succeed, the outsourcing operation is aborted and the HNA <bcp14>MUST</bcp14> close the Control Channel.</t>
        </section>
        <section anchor="sec-ds">
          <name>Providing Information for the DNSSEC Chain of Trust</name>
          <t>To provide the DS RRset to initialize the DNSSEC chain of trust, the HNA <bcp14>MAY</bcp14> send a DNS update <xref target="RFC3007"/> message.</t>
          <t>The DNS update message is composed of a Header section, a Zone section, a Prerequisite section, an Update section, and an additional section.
The Zone section <bcp14>MUST</bcp14> set the ZNAME to the parent zone of the Registered Homenet Domain, which is where the DS records should be inserted. As described in <xref target="RFC2136"/>, ZTYPE is set to SOA and ZCLASS is set to the zone's class.
The Prerequisite section <bcp14>MUST</bcp14> be empty.
The Update section is a DS RRset with its NAME set to the Registered Homenet Domain, and the associated RDATA corresponds to the value of the DS.
The Additional Data section <bcp14>MUST</bcp14> be empty.</t>
          <t>Though the Prerequisite section <bcp14>MAY</bcp14> be ignored by the DM, this value is fixed to remain coherent with a standard DNS update.</t>
          <t>Upon receiving the DNS update request, the DM reads the DS RRset in the Update section.
The DM checks that ZNAME corresponds to the parent zone. The DM <bcp14>MUST</bcp14> ignore the Prerequisite and Additional Data sections, if present. The DM <bcp14>MAY</bcp14> update the TTL value before 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 parent zone with the provided DS. An error indicates that the DM does not update the DS, and the HNA needs to act accordingly; otherwise, another method should be used by the HNA.</t>
          <t>The regular DNS error message <bcp14>MUST</bcp14> be returned to the HNA when an error occurs. In particular, a FORMERR is returned when a format error is found, including when unexpected RRsets are added or when RRsets are missing. A SERVFAIL error is returned when an internal error is encountered.
A NOTZONE error is returned when the Update and Zone sections are not coherent, and a NOTAUTH error is returned when the DM is not authoritative for the Zone section. A REFUSED error is returned when the DM refuses the configuration or performing the requested action.</t>
        </section>
        <section anchor="sec-ip-hna">
          <name>Providing Information for the Synchronization Channel</name>
          <t>The default IP address used by the HNA for the Synchronization Channel is the IP address of the Control Channel. To provide a different IP address, the HNA <bcp14>MAY</bcp14> send a DNS UPDATE message.</t>
          <t>Similar to what is described in <xref target="sec-ds"/>, the HNA <bcp14>MAY</bcp14> specify the IP address using a DNS update message. The Zone section sets its ZNAME to the parent zone of the Registered Homenet Domain, ZTYPE to SOA, and ZCLASS to the zone's type. Prerequisite is empty. The Update section is an RRset of type NS. The Additional Data section contains the RRsets of type A or AAAA that designate the IP addresses associated with the primary (or the HNA).</t>
          <t>The reason to provide these IP addresses is to keep them unpublished and prevent them from being resolved. It is <bcp14>RECOMMENDED</bcp14> that the IP address of the HNA be randomly chosen to prevent it from being easily discovered as well.</t>
          <t>Upon receiving the DNS update request, the DM reads the IP addresses and checks that the ZNAME corresponds to the parent zone. The DM <bcp14>MUST</bcp14> ignore a non-empty Prerequisite section. The DM configures the secondary with the IP addresses and returns a NOERROR response to indicate it is committed to serve as a secondary.</t>
          <t>Similar to what is described in <xref target="sec-ds"/>, DNS errors are used, and an error indicates the DM is not configured as a secondary.</t>
        </section>
        <section anchor="sec-zone-delete">
          <name>Initiating Deletion of the Delegation</name>	  
          <t>To initiate the deletion of the delegation, the HNA sends a DNS UPDATE Delete message.</t>
          <t>The Zone section sets its ZNAME to the Registered Homenet Domain, the ZTYPE to SOA, and the ZCLASS to the zone's type. The Prerequisite section is empty. The Update section is an RRset of type NS with the NAME set to the Registered Domain Name.
	  As indicated by <xref target="RFC2136" sectionFormat="comma" section="2.5.2"/>, the delete instruction is initiated by setting TTL to 0, CLASS to ANY, and RDLENGTH to 0, and RDATA <bcp14>MUST</bcp14> be empty. The Additional Data section is empty.</t>
          <t>Upon receiving the DNS update request, the DM checks the request and removes the delegation. The DM returns a NOERROR response to indicate the delegation has been deleted. Similar to what is described in <xref target="sec-ds"/>, DNS errors are used, and an error indicates that the delegation has not been deleted.</t>
        </section>
      </section>
      <section anchor="sec-ctrl-security">
        <name>Securing the Control Channel</name>
        <t>TLS <xref target="RFC8446"/> <bcp14>MUST</bcp14> be used to secure the transactions between the DM and the HNA, and the DM and HNA <bcp14>MUST</bcp14> be mutually authenticated.
The DNS exchanges are performed using DNS over TLS <xref target="RFC7858"/>.</t>
        <t>The HNA may be provisioned by the manufacturer or during some user-initiated onboarding process, for example, with a browser, by signing up to a service provider, and with a resulting OAuth 2.0 token to be provided to the HNA. Such a process may result in a passing of a settings from a registrar into the HNA through an http API interface. (This is not in scope for this document.)</t>
        <t>When the HNA connects to the DM's Control Channel, TLS will be used, and the connection will be mutually authenticated.
The DM will authenticate the HNA's certificate based upon having participated in some provisioning process that is not standardized by this document. The results of the provisioning process is a series of settings described in <xref target="hna-provisioning"/>.</t>
        <t>The HNA will validate the DM's Control Channel certificate by performing a DNS-ID check on the name as described in <xref target="RFC9525"/>.</t>
        <t>In the future, other specifications may consider protecting DNS messages with other transport layers such as DNS over DTLS <xref target="RFC8094"/>, DNS over HTTPS (DoH) <xref target="RFC8484"/>, or DNS over QUIC <xref target="RFC9250"/>.</t>
      </section>
    </section>
    <section anchor="sec-synch">
      <name>Synchronization Channel</name>
      <t>The DM Synchronization Channel is used for communication between the HNA and the DM for synchronizing the Public Homenet Zone. Note that the Control Channel and the Synchronization Channel are different channels by construction even though they may use the same IP address. Suppose the HNA and the DM are using a single IP address designated by XX, and YYYYY and ZZZZZ are the various ports involved in the communications.</t>

<t>The Control Channel is between</t>
<ul>
  <li>the HNA working as a client using port number YYYYY (an ephemeral also commonly designated as a high range port) and</li>
  <li>a service provided by the DM at port 853, when using DoT.</li>
  </ul>

  <t>On the other hand, the Synchronization Channel is between</t>
<ul>
  <li>the DM working as a client using port ZZZZZ (another ephemeral port) and</li>
  <li>a service provided by the HNA at port 853.</li>
</ul>
      <t>As a result, even though the same pair of IP addresses may be involved, the Control Channel and the Synchronization Channel are always distinct channels.</t>
      <t>Uploading and dynamically updating the zone file on the DM can be seen as zone provisioning between the HNA (hidden primary server) and the DM (secondary server).
This is handled using the normal zone transfer mechanism involving the AXFR and Incremental Zone Transfer (IXFR).</t>
      <t>Part of the process to update the zone involves the owner of the zone (the hidden primary server, the HNA) sending a DNS Notify to the secondaries. In this situation, the only destination that is known by the HNA is the DM's Control Channel, so DNS Notifies are sent over the Control Channel, secured by a mutually authenticated TLS.</t>
      <t>Please note that DNS Notifies are not critical to normal operation, 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 use the Synchronization Channel to immediately do an SOA query to detect any updates.  If there are any changes, then the DM immediately transfers the zone updates.</t>
      <t>This specification standardizes the use of a primary/secondary mechanism <xref target="RFC1996"/> rather than an extended series of DNS update messages. The primary/secondary mechanism was selected as it scales better and avoids DoS attacks. Because this AXFR runs over a TCP channel secured by a mutually authenticated TLS, the DNS update is more complicated.</t>
      <t>Note that this document provides no standard way to distribute a DNS primary between multiple devices. As a result, if multiple devices are candidates for hosting the hidden primary server, some specific mechanisms should be designed so the home network only selects a single HNA for the hidden primary server. Selection mechanisms based on HNCP <xref target="RFC7788"/> are good candidates for future work.</t>
      <section anchor="sec-synch-security">
        <name>Securing the Synchronization Channel</name>
        <t>The Synchronization Channel uses mutually authenticated TLS, as described by <xref target="RFC9103"/>.</t>
        <t>There is a TLS client certificate used by the DM to authenticate itself.
The DM uses the same certificate that was configured into the HNA for authenticating the Control Channel, but as a client certificate rather than a server certificate.</t>
<t><xref target="RFC9103"/> makes no requirements or recommendations on any extended key usage flags for zone transfers, and this document adopts the view that none should be required. Note that once an update to <xref target="RFC9103"/> is published, this document's normative reference to <xref target="RFC9103"/> will be considered updated as well.</t>
        <t>For the TLS server certificate, the HNA uses the same certificate that it uses to authenticate itself to the DM for the Control Channel.</t>
        <t>The HNA <bcp14>MAY</bcp14> use this certificate as the authorization for the zone transfer, or the HNA <bcp14>MAY</bcp14> have been configured with an Access Control List (ACL) that will determine if the zone transfer can proceed. This is a local configuration option as it is premature to determine which will be operationally simpler.</t>
        <t>When the HNA expects to do zone transfer authorization by certificate only, the HNA <bcp14>MAY</bcp14> still apply an ACL on inbound connection requests to avoid load.
In this case, the HNA <bcp14>MUST</bcp14> regularly check (via a DNS resolution) the validity of the address(es) of the DM in the filter.</t>
      </section>
    </section>
    <section anchor="sec-dist">
      <name>DM Distribution Channel</name>
      <t>The DM Distribution Channel is used for communication between the DM and the Public Authoritative Servers.
The architecture and communication used for the DM Distribution Channels are outside the scope of this document, but there are many existing solutions available, e.g., rsync, DNS AXFR, REST, and DB copy.</t>
    </section>
    <section anchor="sec-cpe-sec-policies">
      <name>HNA Security Policies</name>
      <t>The HNA, as the hidden primary server, processes only limited message exchanges on its Internet-facing interface.
This should be enforced using security policies to allow only a subset of DNS requests to be received by HNA.</t>
      <t>The hidden primary server on the HNA differs from the regular authoritative server for the home network due to the following:</t>
      <dl>
        <dt>Interface Binding:</dt>
        <dd>The hidden primary server will almost certainly listen on the WAN Interface, whereas a regular Homenet Authoritative Server will listen on the internal home network interface.
        </dd>
        <dt>Limited Exchanges:</dt>
        <dd>The purpose of the hidden primary server is to synchronize with the DM, not to serve any zones to end users or the public Internet. This results in a limited number of possible exchanges (AXFR/IXFR) with a small number of IP addresses, and an implementation <bcp14>MUST</bcp14> enable filtering policies: it should only respond to queries that are required to do zone transfers.
That list includes SOA queries and AXFR/IXFR queries.
        </dd>
      </dl>
    </section>
    <section anchor="sec-reverse">
      <name>Public Homenet Reverse Zone</name>
      <t>The Public Homenet Reverse Zone works similarly to the Public Homenet Zone.
The main difference is that the ISP that provides the IPv6 connectivity is likely to also be the owner of the corresponding IPv6 reverse zone who administrates the Reverse Public Authoritative Servers. The configuration and the setting of the Synchronization Channel and Control Channel can largely be automated using DHCPv6 messages that are a part of the IPv6 prefix delegation process.</t>
      <t>The Public Homenet Zone is associated with a Registered Homenet Domain, and the ownership of that domain requires a specific registration from the end user as well as the HNA being provisioned with some authentication credentials. Such steps are mandatory unless the DOI has some other means to authenticate the HNA. Such situation may occur, for example, when the ISP provides the Homenet Domain as well as the DOI.</t>
      <t>In this case, the HNA may be authenticated by the physical link layer, in which case the authentication of the HNA may be performed without additional provisioning of the HNA.
While this may not be so 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 address or IP prefix.</t>
      <t>More specifically, a common case is that the upstream ISP provides the IPv6 prefix to the Homenet with an identity association for a prefix delegation (IA_PD) option <xref target="RFC8415"/> and manages the DOI of the associated reverse zone.</t>
      <t>This leaves a place for setting up the relation between the HNA and DOI automatically as described in <xref target="RFC9527"/>.</t>
      <t>In the case of the reverse zone, the DOI authenticates the source of the updates by IPv6 ACLs, and the ISP knows exactly what addresses have been delegated. Therefore, the HNA <bcp14>SHOULD</bcp14> always originate Synchronization Channel updates from an IP address within the zone that is being updated. Exceptionally, the Synchronization Channel might be from a different zone delegated to the HNA (if there were multiple zones or renumbering events were in progress).</t>
<t>For example, if the ISP has assigned 2001:db8:f00d:1234::/64 to the WAN interface (by DHCPv6 or PPP with Router Advertisement (RA)), then the HNA should originate Synchronization Channel updates from, for example, 2001:db8:f00d:1234::2.</t>

      <t>If an ISP has delegated 2001:db8:aeae::/56 to the HNA via DHCPv6-PD, then the HNA should originate Synchronization Channel updates to an IP address within that subnet, such as 2001:db8:aeae:1::2.</t>
      <t>With this relation automatically configured, the synchronization between the Home network and the DOI happens in a similar way to the synchronization of the Public Homenet Zone described earlier in this document.</t>
<t>Note that for home networks connected to multiple ISPs, each ISP provides only the DOI of the reverse zones associated with the delegated prefix. It is also likely that the DNS exchanges will need to be performed on dedicated interfaces to be accepted by the ISP. More specifically, the reverse zone update associated with prefix 1 cannot be performed by the HNA using an IP address that belongs to prefix 2.  Such constraints do not raise major concerns for hot standby or load-sharing configuration.</t>
      <t>With IPv6, the reverse domain space for IP addresses associated with a subnet such as ::/64 is so large that the reverse zone may be confronted with scalability issues.
How the reverse zone is generated is out of scope of this document.
<xref target="RFC8501"/> provides guidance on how to address scalability issues.</t>
    </section>
    <section anchor="sec-dnssec-deployment">
      <name>DNSSEC-Compliant Homenet Architecture</name>
      <t><xref target="RFC7368" sectionFormat="of" section="3.7.3"/> recommends that DNSSEC be deployed on both the authoritative server and the resolver.</t>
      <t>The resolver side is out of scope of this document, and only the authoritative part of the server is considered.
      Other documents such as <xref target="RFC5011"/> deal with the continuous update of trust anchors required for operation of a DNSSEC Resolver.</t>

<t>The Public Homenet Zone and the Public Reverse Zone <bcp14>MUST</bcp14> be DNSSEC signed by the HNA.</t>
      <t>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 DOIs, and the choice highly depends on which entity is authorized to perform such updates.
Typically, the DS RRset is updated manually through a registrar interface and can be maintained with mechanisms such as CDS <xref target="RFC7344"/>.</t>
      <t>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 records in the parent zone.
In other cases, some other initialization will be required, and that will be specific to the infrastructure involved.
It is beyond the scope of this document.</t>
      <t>There may be some situations where the HNA is unable to arrange for secure delegation of the zones, but the HNA <bcp14>MUST</bcp14> still sign the zones.</t>
    </section>
    <section anchor="sec-renumbering">
      <name>Renumbering</name>
      <t>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 new AAAA records.</t>
      <t>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 connection, and it will need to update its internal database of Synchronization Channels.
A new zone transfer will occur with the new records for the resources that the HNA wishes to publish.</t>
      <t>The remainder of the section provides recommendations regarding the provisioning of the Public Homenet Zone, especially the IP addresses.</t>
      <t>Renumbering has been extensively described in <xref target="RFC4192"/> and analyzed in <xref target="RFC7010"/>, and the reader is expected to be familiar with them before reading this section.
In the make-before-break renumbering scenario, the new prefix is advertised, and the network is configured to prepare the transition to the new prefix. During a period of time, the two prefixes (old and new) coexist before the old prefix is completely removed. New resource records containing the new prefix <bcp14>SHOULD</bcp14> be published, while the old resource records with the old prefixes <bcp14>SHOULD</bcp14> be withdrawn. If the HNA anticipates that the period of overlap will be long (perhaps due to the knowledge of router and DHCPv6 lifetimes), it <bcp14>MAY</bcp14> publish the old prefixes with a significantly lower TTL.</t>
      <t>In break-before-make renumbering scenarios, including flash renumbering scenarios <xref target="RFC8978"/>, the old prefix becomes unusable before the new prefix is known or advertised.
As explained in <xref target="RFC8978"/>, some flash renumberings occur due to power cycling of the HNA, where ISPs do not properly remember what prefixes have been assigned to which user.</t>
      <t>An HNA that boots up <bcp14>MUST</bcp14> immediately use the Control Channel to 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 it has been offline or if the (DNSSEC) zone has perhaps expired during the time the HNA was powered off.</t>
      <t>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 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 should use the previously known addresses, with a very low TTL.</t>
      <t>Although the new and old IP addresses may be stored in the Public Homenet Zone, it is <bcp14>RECOMMENDED</bcp14> that only the newly reachable IP addresses be published.</t>
      <t>Regarding the Public Homenet Reverse Zone, the new Public Homenet 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 (and the owner of the old prefix, which is usually the ISP) once the prefix is no longer assigned to the HNA.
The ISP <bcp14>MUST</bcp14> ensure that the DNS cache has expired before reassigning the prefix to a new home network.
This may be enforced by controlling the TTL values.</t>
      <t>To avoid reachability disruption, IP connectivity information provided by the DNS <bcp14>MUST</bcp14> be coherent with the IP in use.
In our case, this means the old IP address <bcp14>MUST NOT</bcp14> be provided via the DNS when it is not reachable anymore.</t>
      <t>In the make-before-break scenario, it is possible to make the transition seamless.
Let T be the TTL associated with an RRset of the Public Homenet Zone;
Time_NEW be the time the new IP address replaces the old IP address in the Homenet Zone; and Time_OLD_UNREACHABLE be the time the old IP will not be reachable anymore.</t>
      <t>In the case of the make-before-break scenario, seamless reachability is provided as long as Time_OLD_UNREACHABLE - T_NEW &gt; (2 * T).
If this is not satisfied, then devices associated with the old IP address in the home network may become unreachable for 2 * T - (Time_OLD_UNREACHABLE - Time_NEW).</t>
      <t>In the case of a break-before-make scenario, Time_OLD_UNREACHABLE = Time_NEW, and the device may become unreachable up to 2 * T.
Of course, if Time_NEW &gt;= Time_OLD_UNREACHABLE, then the outage is not seamless.</t>
    </section>
    <section anchor="sec-privacy">
      <name>Privacy Considerations</name>
      <t>Outsourcing the DNS Authoritative service from the HNA to a third party raises a few privacy-related concerns.</t>
      <t>The Public Homenet Zone lists the names of services hosted in the home network.
Combined with blocking of AXFR queries, the use of NSEC3 <xref target="RFC5155"/> (vs.&nbsp;NSEC <xref target="RFC4034"/>) prevents an  attacker from being able to walk the zone to discover all the names.
However, recent work <xref target="GPUNSEC3"/> <xref target="ZONEENUM"/> has shown that the protection provided by NSEC3 against dictionary attacks should be considered cautiously, and <xref target="RFC9276"/> provides guidelines to configure NSEC3 properly. In addition, the attacker may be able to walk the reverse DNS zone or use other reconnaissance techniques to learn this information as described in <xref target="RFC7707"/>.</t>
<t>The zone may be also exposed during the synchronization between the primary and the secondary. The casual risk of this occurring is low, and the use of <xref target="RFC9103"/> significantly reduces this. Even if DNS zone transfer over TLS <xref target="RFC9103"/> is used by the DOI, it may still leak the existence of the zone through Notifies. The protocol described in this document does not increase that risk, as all Notifies use the encrypted Control Channel.</t>
<t>In general, a home network owner is expected to publish only names for which there is some need to reference them externally. Publication of the name does not imply that the service is necessarily reachable from any or all parts of the Internet. <xref target="RFC7084"/> mandates that the outgoing-only policy <xref target="RFC6092"/> be available, and in many cases, it is configured by default.
A well-designed user interface would combine a policy for making a service public by a name with a policy on who may access it.</t>
      <t>In many cases, and for privacy reasons, the home network owner has wanted to publish names only for services that they will be able to access. The access control may consist of an IP source address range, or access may be restricted via some VPN functionality. The main advantages of publishing the names are that the service may be accessed by the same name both within and outside the home, and the DNS resolution can be handled similarly both within and outside the home. This considerably eases the ability to use VPNs where the VPN can be chosen according to the IP address of the service. Typically, a user may configure its device to reach its Homenet devices via a VPN while the remaining traffic is accessed directly.</t>
      <t>Enterprise networks have generally adopted another strategy designated as split-horizon-DNS. While such strategy might appear as providing more privacy at first sight, its implementation remains challenging and the privacy advantages need to be considered carefully. In split-horizon-DNS, names are designated with internal names that can only be resolved within the corporate network. When such strategy is applied to the homenet, VPNs need to be configured with naming resolution policies and routing policies. Such an approach might be reasonable with a single VPN, but maintaining a coherent DNS space and IP space among various VPNs comes with serious complexities. Firstly, if multiple homenets are using the same domain name -- like home.arpa -- it becomes difficult to determine on which network the resolution should be performed. As a result, homenets should at least be differentiated by a domain name. Secondly, the use of split-horizon-DNS requires each VPN to be associated with a resolver and specific resolutions to be performed by the dedicated resolver. Such policies can easily raise some conflicts (with significant privacy issues) while remaining hard to be implemented.</t>
      <t>In addition to the Public Homenet Zone, pervasive DNS monitoring can also monitor the traffic associated with the Public Homenet Zone.
This traffic may provide an indication of the services an end user accesses, plus how and when they use these services. Although, caching may obfuscate this information inside the home network, it is likely that this information will not be cached outside the home network.</t>
    </section>
    <section anchor="sec-security">
      <name>Security Considerations</name>
      <t>The HNA never answers DNS requests from the Internet.
These requests are instead served by the DOI.</t>
      <t>While this limits the level of exposure of the HNA, the HNA still has some exposure to attacks from the Internet.
This section analyses the attack surface associated with these communications, the data published by the DOI, as well as operational considerations.</t>
      <section anchor="registered-homenet-domain">
        <name>Registered Homenet Domain</name>
        <t>The DOI <bcp14>MUST NOT</bcp14> serve any Public Homenet Zone when it is not confident that the HNA owns the Registered Homenet Domain. 
Proof of ownership is outside the scope of this document, and it is assumed that such a phase has preceded the outsourcing of the zone.</t>
      </section>
      <section anchor="hna-dm-channels">
        <name>HNA DM Channels</name>
        <t>The channels between HNA and DM are mutually authenticated and encrypted with TLS <xref target="RFC8446"/>, and its associated security considerations apply.</t>
        <t>To ensure that the multiple TLS sessions are continuously authenticating the same entity, TLS may take advantage of second-factor authentication as described in <xref target="RFC8672"/> for the TLS server certificate for the Control Channel. The HNA should also cache the TLS server certificate used by the DM, in order to authenticate the DM during the setup of the Synchronization Channel. (Alternatively, the HNA is configured with an ACL from which Synchronization Channel connections will originate.)</t>
        <t>The Control Channel and Synchronization Channel follow the guidelines in <xref target="RFC7858"/> and <xref target="RFC9103"/>, respectively.</t>
        <t>The DNS protocol is subject to reflection attacks; however, these attacks are largely applicable when DNS is carried over UDP. The interfaces between the HNA and DM are using TLS over TCP, which prevents such reflection attacks.
Note that Public Authoritative servers hosted by the DOI are subject to such attacks, but that is out of scope of this document.</t>
        <t>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 DM and Reverse Distribution Manager (RDM) may be provided by the ISP -- as described in <xref target="RFC9527"/>, in which case DM and RDM might be less exposed to attacks -- as communications within a network.</t>
      </section>
      <section anchor="sec-name-less-secure">
        <name>Names Are Less Secure than IP Addresses</name>
        <t>This document describes how an end user can make their services and devices from their home network reachable on the Internet by using names rather than IP addresses.
	This exposes the home network to attackers because names are expected to include less entropy than IP addresses. IPv4 addresses are 4-bytes long leading to 2<sup>32</sup> possibilities.
With IPv6 addresses, the Interface Identifier is 64-bits long leading to up to 2<sup>64</sup> possibilities  for a given subnetwork. This is not to mention that the subnet prefix is also 64-bits long, thus providing up to 2<sup>64</sup> possibilities. On the other hand, names used for either the home network domain or the devices present less entropy (livebox, router, printer, nicolas, jennifer, ...) and thus potentially expose the devices to dictionary attacks.</t>
      </section>
      <section anchor="sec-name-less-volatile">
        <name>Names Are Less Volatile than IP Addresses</name>
        <t>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-invariant prefix by ISPs. In addition, IPv6 enables temporary addresses that makes them even more volatile <xref target="RFC8981"/>. As a result, observing IP addresses only provides some ephemeral information about who is accessing the service. On the other hand, names are not expected to be as volatile as IP addresses. As a result, logging names over time may be more valuable than logging IP addresses, especially to profile an end user's characteristics.</t>
        <t>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 that reason, PTR DNS queries <bcp14>MAY</bcp14> be configured to return with NXDOMAIN instead.</t>
      </section>
      <section anchor="deployment-considerations">
        <name>Deployment Considerations</name>
        <t>The HNA is expected to sign the DNSSEC zone and, as such, hold the private KSK and Zone Signing Key (ZSK).</t>
        <t>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 is likely that they will access both of them.
If the HNA is run in a home router with a secure element (SE) or trusted platform module (TPM), storing the private keys in the secure element would be a useful precaution. The DNSSEC keys are generally needed on an hourly to weekly basis, but not more often.</t>
        <t>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 if the home router is factory reset or just thrown out / replaced with a newer model.</t>
        <t>Generating new DNSSEC keys is relatively easy; they can be deployed using the Control Channel to the DM.
The key that is used to authenticate that connection is the critical key that needs protection and should ideally be backed up to offline storage (such as a USB key).</t>
      </section>
      <section anchor="operational-considerations">
        <name>Operational Considerations</name>
        <t>Homenet technologies make it easier to expose devices and services to the
Internet.  This imposes broader operational considerations for the operator and
the Internet as follows:</t>
        <ul spacing="normal">
          <li>The home network operator must carefully assess whether a device or service
previously fielded only on a home network is robust enough to be exposed to the
Internet.</li>
          <li>The home network operator will need to increase the diligence to regularly
managing these exposed devices due to their increased risk posture of being
exposed to the Internet.</li>
          <li>Depending on the operational practices of the home network operators, there
is an increased risk to the Internet through the possible
introduction of additional Internet-exposed systems that are poorly managed and
likely to be compromised.</li>
        </ul>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>

<displayreference target="I-D.ietf-dnsop-domain-verification-techniques" to="DOMAIN-VALIDATION"/>
<displayreference target="I-D.ietf-dnsop-dnssec-validator-requirements" to="DRO-RECS"/>
<displayreference target="I-D.ietf-dnsop-ns-revalidation" to="NS-REVALIDATION"/>
<displayreference target="I-D.richardson-homerouter-provisioning" to="HOMEROUTER-PROVISION"/>

    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8375.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1918.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8499.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7858.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9103.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7344.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1034.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3007.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1996.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5155.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4034.xml"/>

	<!-- [I-D.ietf-uta-rfc6125bis] is now RFC 9525 -->
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9525.xml"/>

      </references>
      <references>
        <name>Informative References</name>

        <reference anchor="GPUNSEC3" target="https://doi.org/10.1109/NCA.2014.27">
          <front>
            <title>GPU-Based NSEC3 Hash Breaking</title>
            <author initials="M." surname="Wander">
              <organization/>
            </author>
            <author initials="L." surname="Schwittmann">
              <organization/>
            </author>
            <author initials="C." surname="Boelmann">
              <organization/>
            </author>
            <author initials="T." surname="Weis">
              <organization/>
            </author>
            <date month="August" year="2014"/>
          </front>
	   <seriesInfo name="DOI" value="10.1109/NCA.2014.27" />
        </reference>

        <reference anchor="ZONEENUM">
          <front>
            <title>An efficient DNSSEC zone enumeration algorithm</title>
            <author initials="Z." surname="Wang">
              <organization/>
            </author>
            <author initials="L." surname="Xiao">
              <organization/>
            </author>
            <author initials="R." surname="Wang">
              <organization/>
            </author>
            <date month="April" year="2014"/>
          </front>
	  <seriesInfo name="DOI" value="10.2495/MIIT130591" />
        </reference>

        <reference anchor="REBIND" target="https://en.wikipedia.org/w/index.php?title=DNS_rebinding&amp;oldid=1173433859">
          <front>
            <title>DNS rebinding</title>
            <author>
              <organization>Wikipedia</organization>
            </author>
            <date month="September" year="2023"/>
          </front>
        </reference>

        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6762.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8415.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6887.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3587.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4193.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4291.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7404.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3927.xml"/>

<!-- [I-D.ietf-homenet-naming-architecture-dhc-options] companion document RFC 9527 -->
<reference anchor="RFC9527" target="https://www.rfc-editor.org/info/rfc9527">
<front>
<title>DHCPv6 Options for the Homenet Naming Authority</title>
<author initials='D' surname='Migault' fullname='Daniel Migault'>
<organization />
</author>
<author initials='R' surname='Weber' fullname='Ralf Weber'>
<organization />
</author>
<author initials='T' surname='Mrugalski' fullname='Tomek Mrugalski'>
<organization />
</author>
<date year='2024' month='January' />
</front>
<seriesInfo name="RFC" value="9527"/>
<seriesInfo name="DOI" value="10.17487/RFC9527"/>
</reference>

        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8555.xml"/>

<!-- [I-D.ietf-dnsop-domain-verification-techniques] IESG state	I-D Exists as of 1/22/24; entered the long way to get the correct author initials -->
	<reference anchor="I-D.ietf-dnsop-domain-verification-techniques" target="https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-domain-verification-techniques-03">
  <front>
    <title>Domain Control Validation using DNS</title>
    <author fullname="Shivan Kaul Sahib" initials="S." surname="Sahib">
      <organization>Brave Software</organization>
    </author>
    <author fullname="Shumon Huque" initials="S." surname="Huque">
      <organization>Salesforce</organization>
    </author>
    <author fullname="Paul Wouters" initials="P." surname="Wouters">
      <organization>Aiven</organization>
    </author>
    <author fullname="Erik Nygren" initials="E." surname="Nygren">
      <organization>Akamai Technologies</organization>
    </author>
    <date day="17" month="October" year="2023"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-domain-verification-techniques-03"/>
</reference>

        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7788.xml"/>

        <!-- [I-D.ietf-dnsop-dnssec-validator-requirements] IESG state I-D Exists: Revised I-D Needed -->
        <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-dnsop-dnssec-validator-requirements.xml"/>

<!-- [I-D.ietf-dnsop-ns-revalidation] IESG state Expired as of 1/22/24; entered the long way to get the right author intials -->
<reference anchor="I-D.ietf-dnsop-ns-revalidation" target="https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-ns-revalidation-04">
  <front>
    <title>Delegation Revalidation by DNS Resolvers</title>
    <author fullname="Shumon Huque" initials="S." surname="Huque">
      <organization>Salesforce</organization>
    </author>
    <author fullname="Paul A. Vixie" initials="P." surname="Vixie">
      <organization>SIE Europe, U.G.</organization>
    </author>
    <author fullname="Ralph Dolmans" initials="R." surname="Dolmans">
      <organization>NLnet Labs</organization>
    </author>
    <date day="13" month="March" year="2023"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-ns-revalidation-04"/>
</reference>

        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2136.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8094.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8484.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9250.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8501.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7368.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5011.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4192.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7010.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8978.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9276.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7707.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7084.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6092.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8672.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8981.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6749.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8610.xml"/>

        <!--[I-D.richardson-homerouter-provisioning] IESG state Expired -->
        <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.richardson-homerouter-provisioning.xml"/>

      </references>
    </references>
    <section anchor="hna-channel-configurations">
      <name>HNA Channel Configurations</name>
      <section anchor="hna-provisioning">
        <name>Public Homenet Zone</name>
        <t>This document does not deal with how the HNA is provisioned with a trusted relationship to the Distribution Manager for the forward zone.</t>
        <t>This section details what needs to be provisioned into the HNA and serves as a requirements statement for mechanisms.</t>
        <t>The HNA needs to be provisioned with:</t>
        <ul spacing="normal">
          <li>the Registered Domain (e.g., myhome.example);</li>
          <li>the contact information for the DM, including the DNS name (the fully qualified domain name (FQDN)), possibly the IP literal, and a certificate (or anchor) to be used to authenticate the service;</li>
          <li>the DM transport protocol and port (the default is DNS over TLS, on port 853); and</li>
          <li>the HNA credentials used by the DM for its authentication.</li>
        </ul>
        <t>The HNA will need to select an IP address for communication for the Synchronization Channel.
This is typically the WAN address of the 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 <xref target="sec-ip-hna"/> when the NS and A or AAAA RRsets are communicated.</t>
        <t>The above parameters <bcp14>MUST</bcp14> be provisioned for ISP-specific reverse zones.
One example of how to do this can be found in  <xref target="RFC9527"/>.
ISP-specific forward zones <bcp14>MAY</bcp14> also be provisioned using <xref target="RFC9527"/>, but zones that are not related to a specific ISP zone (such as with a DNS provider) must be provisioned through other means.</t>
        <t>Similarly, if the HNA is provided by a registrar, the HNA may be handed preconfigured to the end user.</t>
        <t>In the absence of specific pre-established relations, these pieces of information may be entered manually by the end user. In order to ease the configuration from the end user, the following scheme may be implemented.</t>
        <t>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 registrar with, for example, a preselected list.
Once the registrar has been selected, the HNA redirects the end user to that registrar in order to receive an access token. The access token will enable the HNA to retrieve the DM parameters associated with the Registered Domain.
These parameters will include the credentials used by the HNA to establish the Control and Synchronization Channels.</t>
        <t>Such architecture limits the necessary steps to configure the HNA from the end user.</t>
      </section>
    </section>
    <section anchor="info-model">
      <name>Information Model for Outsourced Information</name>
      <t>This section specifies an optional format for the set of parameters required by the HNA to configure the naming architecture of this document.</t>
      <t>In cases where a home router has not been provisioned by the manufacturer (when forward zones are provided by the manufacturer) or by the ISP (when the ISP provides this service), then a home user/owner will need to configure these settings via an administrative interface.</t>
      <t>By defining a standard format (in JSON) for this configuration information, the user/owner may be able to copy and paste a configuration blob from the service provider into the administrative interface of the HNA.</t>
      <t>This format may also provide the basis for a future OAuth 2.0 <xref target="RFC6749"/> flow that could do the set up automatically.</t>
      
      <t>The HNA needs to be configured with the following parameters as described by the Concise Data Definition Language (CDDL) <xref target="RFC8610"/>.  These parameters are necessary to establish a secure channel between the HNA and the DM as well as to specify the DNS zone that is in the scope of the communication.</t>

<sourcecode type="cddl"><![CDATA[
hna-configuration = {
  "registered_domain" : tstr,
  "dm"                : tstr,
  ? "dm_transport" : "DoT"
  ? "dm_port"        : uint,
  ? "dm_acl"         : hna-acl / [ +hna-acl ]
  ? "hna_auth_method": hna-auth-method
  ? "hna_certificate": tstr
}

hna-acl          = tstr
hna-auth-method  /= "certificate"
]]></sourcecode>
      <t>For example:</t>

<sourcecode><![CDATA[
{
  "registered_domain" : "n8d234f.r.example.net",
  "dm"                : "2001:db8:1234:111:222::2",
  "dm_transport"      : "DoT",
  "dm_port"           : 4433,
  "dm_acl"            : "2001:db8:1f15:62e::/64"
                   or [ "2001:db8:1f15:62e::/64", ... ]
  "hna_auth_method"   : "certificate",
  "hna_certificate"   : "-----BEGIN CERTIFICATE-----\nMIIDTjCCFGy..",
}
]]></sourcecode>
      <dl>
        <dt>Registered Homenet Domain (registered_domain):</dt>
        <dd>The Domain Name of the zone. Multiple Registered Homenet Domains may be provided.
This will generate the creation of multiple Public Homenet Zones. This parameter is mandatory.
        </dd>
        <dt>Distribution Manager notification address (dm):</dt>
        <dd>The associated FQDNs or IP addresses of the DM to which DNS Notifies should be sent.
This parameter is mandatory. IP addresses are optional, and the FQDN is sufficient and preferred.
If there are concerns about the security of the name to IP translation, then DNSSEC should be employed.
        </dd>
      </dl>
      <t>As the session between the HNA and the DM is authenticated with TLS, the use of names is easier.</t>
      <t>As certificates are more commonly emitted for FQDN than for IP addresses, it is preferred to use names and authenticate the name of the DM during the TLS session establishment.</t>
      <dl>
        <dt>Supported Transport (dm_transport):</dt>
        <dd>The transport that carries the DNS exchanges between the HNA and the DM.
The typical value is "DoT", but it may be extended in the future with "DoH" or "DoQ", for example.
This parameter is optional, and the HNA uses DoT by default.
        </dd>
        <dt>Distribution Manager Port (dm_port):</dt>
        <dd>Indicates the port used by the DM.
This parameter is optional, and the default value is provided by the Supported Transport.
In the future, an additional transport may not have a default port, in which case either a default port needs to be defined or this parameter becomes mandatory.
        </dd>
      </dl>
      <t>Note that HNA does not define ports for the Synchronization Channel.
In any case, this is not expected to be a part of the configuration but is instead negotiated through the Configuration Channel. Currently, the Configuration Channel does not provide this and limits its agility to a dedicated IP address. If such agility is needed in the future, additional exchanges will need to be defined.</t>
      <dl>
        <dt>Authentication Method ("hna_auth_method"):</dt>
        <dd>How the HNA authenticates itself to the DM within the TLS connection(s).
The authentication method can typically be "certificate", "psk", or "none".
This parameter is optional, and the Authentication Method is "certificate" by default.
        </dd>
        <dt>Authentication data ("hna_certificate", "hna_key"):</dt>
        <dd>The certificate chain used to authenticate the HNA.
This parameter is optional, and when not specified, a self-signed certificate is used.
        </dd>
        <dt>Distribution Manager AXFR permission netmask (dm_acl):</dt>
        <dd>The subnet 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 different systems. An
array of addresses is permitted. This parameter is optional, and if unspecified, the CPE uses the IP addresses provided by the dm parameter either directly when the dm indicates the IP address(es) returned by the DNS or DNSSEC resolution when dm indicates an FQDN.
        </dd>
      </dl>
      <t>For forward zones, the relationship between the HNA and the forward zone provider may be the result of a number of transactions:</t>
      <ol spacing="normal" type="1">
	<li>The forward zone outsourcing may be provided by the maker of the Homenet router.
In this case, the identity and authorization could be built in the device at the manufacturer provisioning time. The device would need to be provisioned with a device-unique credential, and it is likely that the Registered Homenet Domain would be derived from a public attribute of the device, such as a serial number (see <xref target="sec-ex-manu"/> or <xref target="I-D.richardson-homerouter-provisioning"/> for more details).</li>
        <li>The forward zone outsourcing may be provided by the ISP.
In this case, the use of <xref target="RFC9527"/> to provide the credentials is appropriate.</li>
        <li>The forward zone may be outsourced to a third party, such as a domain registrar.
In this case, the use of the JSON-serialized YANG data model described in this section is appropriate, as it can easily be copy and pasted by the user or downloaded as part of a web transaction.</li>
      </ol>
      <t>For reverse zones, the relationship is always with the upstream ISP (although there may be more than one), so <xref target="RFC9527"/> always applies.</t>
      <t>The following is an abridged example of a set of data that represents the needed configuration parameters for outsourcing.</t>
    </section>
    <section anchor="sec-ex-manu">
      <name>Example: A Manufacturer-Provisioned HNA Product Flow</name>
      <t>This scenario is one where a Homenet router device manufacturer decides to offer DNS hosting as a value add.</t>
      <t><xref target="I-D.richardson-homerouter-provisioning"/> describes a process for a home router
credential provisioning system.
The outline of it is that near the end of the manufacturing process, as part of the firmware loading, the manufacturer provisions a private key and certificate into the device.</t>
      <t>In addition to having an asymmetric credential known to the manufacturer, the device also has
been provisioned with an agreed-upon name.  In the example in the above document, the name "n8d234f.r.example.net" has already been allocated and confirmed with the manufacturer.</t>
      <t>The HNA can use the above domain for itself.
It is not very pretty or personal, but if the owner would like to have a better name, they can arrange it.</t>
      <t>The configuration would look like the following:</t>
      <artwork><![CDATA[
{
  "dm" : "2001:db8:1234:111:222::2",
  "dm_acl"    : "2001:db8:1234:111:222::/64",
  "dm_ctrl"   : "manufacturer.example.net",
  "dm_port"   : "4433",
  "ns_list"   : [ "ns1.publicdns.example", "ns2.publicdns.example"],
  "zone"      : "n8d234f.r.example.net",
  "auth_method" : "certificate",
  "hna_certificate":"-----BEGIN CERTIFICATE-----\nMIIDTjCCFGy....",
}
]]></artwork>
      <t>The dm_ctrl and dm_port values would be built into the firmware.</t>
    </section>
   <section anchor="acknowledgment" numbered="false">
      <name>Acknowledgments</name>
      <t>The authors wish to thank <contact fullname="Philippe Lemordant"/> for his contributions to
the earlier draft versions of this document; <contact fullname="Ole Troan"/> for pointing out issues with
the IPv6-routed home concept and placing the scope of this document in a
wider picture; <contact fullname="Mark Townsley"/> for encouragement and injecting a healthy
debate on the merits of the idea; <contact fullname="Ulrik de Bie"/> for providing alternative
solutions; <contact fullname="Paul Mockapetris"/>, <contact fullname="Christian Jacquenet"/>, <contact fullname="Francis Dupont"/>, and <contact fullname="Ludovic Eschard"/> for their remarks on HNA and low power devices; <contact fullname="Olafur Gudmundsson"/> for clarifying DNSSEC capabilities of small devices; <contact fullname="Simon Kelley"/> for its feedback as dnsmasq implementer; <contact fullname="Andrew Sullivan"/>, <contact fullname="Mark Andrew"/>, <contact fullname="Ted Lemon"/>, <contact fullname="Mikael Abrahamson"/>, <contact fullname="Stephen Farrell"/>, and <contact fullname="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 <contact fullname="Mark Andrew"/> and <contact fullname="Peter Koch"/> for clarifying the renumbering.</t>
      <t>The authors would like to thank <contact fullname="Kiran Makhijani"/> for her in-depth review that contributed to shaping the final version of this document.</t>
      <t>The authors would also like to thank our Area Director <contact fullname="Éric Vyncke"/> for his constant support and pushing the document through the IESG process and the many reviewers from various directorates including <contact fullname="Anthony Somerset"/>, <contact fullname="Geoff Huston"/>, <contact fullname="Tim Chown"/>, <contact fullname="Tim Wicinski"/>, <contact fullname="Matt Brown"/>, <contact fullname="Darrel Miller"/>, and <contact fullname="Christer Holmberg"/>.</t>
    </section>
    <section anchor="contributors" numbered="false">
      <name>Contributors</name>
      <t>The coauthors would like to thank <contact fullname="Chris Griffiths"/> and <contact fullname="Wouter Cloetens"/> for providing significant contributions to the earlier draft versions of this document.</t>
    </section>
  </back>
</rfc>
