One document matched: draft-mglt-homenet-front-end-naming-delegation-03.xml
<?xml version="1.0" encoding="US-ASCII"?>
<?rfc linefile="1:/tmp/CGI11956.1"?>
<?rfc linefile="1:/tmp/CGI11956.1"?>
<?rfc toc="yes"?>
<!-- generate a table of contents -->
<?rfc symrefs="yes"?>
<!-- use anchors instead of numbers for references -->
<?rfc sortrefs="yes" ?>
<!-- alphabetize the references -->
<?rfc compact="yes" ?>
<!-- conserve vertical whitespace -->
<?rfc subcompact="no" ?>
<!-- but keep a blank line between list items -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc1033 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1033.xml">
<!ENTITY rfc1035 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1035.xml">
<!ENTITY rfc2142 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2142.xml">
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc2136 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2136.xml">
<!ENTITY rfc1996 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1996.xml">
<!ENTITY rfc1995 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1995.xml">
<!ENTITY rfc1034 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1034.xml">
<!ENTITY rfc2845 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2845.xml">
<!ENTITY rfc2930 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2930.xml">
<!ENTITY rfc2931 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2931.xml">
<!ENTITY rfc5246 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5246.xml">
<!ENTITY rfc6347 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6347.xml">
<!ENTITY rfc4301 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4301.xml">
<!ENTITY rfc5996 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5996.xml">
<!ENTITY rfc6672 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6672.xml">
<!ENTITY rfc6644 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6644.xml">
<!ENTITY rfc2181 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2181.xml">
<!ENTITY I-D.sury-dnsext-cname-dname PUBLIC "" "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-sury-dnsext-cname-dname-00.xml">
<!ENTITY rfc6762 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6762.xml">
<!ENTITY rfc6672 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6672.xml">
]>
<rfc category="std"
docName="draft-mglt-homenet-front-end-naming-delegation-03.txt"
ipr="trust200902">
<front>
<title abbrev="Home Network Naming Delegation">IPv6 Home Network
Naming Delegation</title>
<author fullname="Daniel Migault" initials="D." surname="Migault (Ed)">
<organization>Orange</organization>
<address>
<postal>
<street>38 rue du General Leclerc</street>
<city>92794 Issy-les-Moulineaux Cedex 9</city>
<country>France</country>
</postal>
<phone>+33 1 45 29 60 52</phone>
<email>mglt.ietf@gmail.com</email>
</address>
</author>
<author fullname="Wouter Cloetens" initials="W." surname="Cloetens">
<organization>SoftAtHome</organization>
<address>
<postal>
<street>vaartdijk 3 701</street>
<city>3018 Wijgmaal</city>
<country>Belgium</country>
</postal>
<phone/>
<email>wouter.cloetens@softathome.com</email>
</address>
</author>
<author fullname="Chris Griffiths" initials="C." surname="Griffiths">
<organization>Dyn</organization>
<address>
<postal>
<street>150 Dow Street</street>
<city>Manchester</city>
<region>NH</region>
<code>03101</code>
<country>US</country>
</postal>
<phone/>
<facsimile/>
<email>cgriffiths@dyn.com</email>
<uri>http://dyn.com</uri>
</address>
</author>
<author fullname="Ralf Weber" initials="R." surname="Weber">
<organization>Nominum</organization>
<address>
<postal>
<street>2000 Seaport Blvd #400</street>
<city>Redwood City</city>
<region>CA</region>
<code>94063</code>
<country>US</country>
</postal>
<phone/>
<facsimile/>
<email>ralf.weber@nominum.com</email>
<uri>http://www.nominum.com</uri>
</address>
</author>
<!-- <date month="February" year="2013"/>-->
<date/>
<area>INTERNET</area>
<workgroup>HOMENET</workgroup>
<abstract>
<t>CPEs are designed to provide IP connectivity to home networks.
Most CPEs assigns IP addresses to the nodes of the home network
which makes it a good candidate for hosting the naming service.
With IPv6, the naming service makes nodes reachable from the
home network as well as from the Internet.</t>
<t>However, CPEs have not been designed to host such a naming
service exposed on the Internet. This MAY expose the CPEs to
resource exhaustion which would make the home network unreachable, and
most probably would also affect the home network inner
communications.</t>
<t>In addition, DNSSEC management and configuration may not be
well understood or mastered by regular end users. Misconfiguration
MAY also results in naming service disruption, thus these end
users MAY prefer to rely on third party naming providers.</t>
<t>This document describes a homenet naming architecture where the
CPEs manage the DNS zone associates to its home network, and
outsource both DNSSEC management and naming service on the Internet
to a third party designated as the Public Authoritative Servers.</t>
</abstract>
</front>
<middle>
<section title="Requirements notation">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in <xref
target="RFC2119"/>.</t>
</section>
<section title="Introduction">
<t>IPv6 provides global end to end IP reachability from the Internet
and into the Home Network. End Users to access services hosted in
the Home Network with IPv6 addresses would prefer to use names
instead of long and complex IPv6 addresses.</t>
<t>CPEs are already providing IPv6 connectivity to the Home Network and
generally provide IPv6 addresses or prefixes to the nodes of the Home
Network. This makes the CPEs a good candidate to manage binding between
names and IP addresses of the nodes. In other words, the CPE is the
natural candidate for setting the DNS(SEC) zone file.</t>
<t>CPEs are usually low powered devices designed for the Home Network,
but not for heavy traffic. As a result, hosting the a DNS service on
the Internet MAY expose the Home Network to resource exhaustion, which
may isolate the Home Network from the Internet and affect the services
hosted by the CPEs, thus affecting the overall Home Network communications.
So, this document considers that the Naming Service SHOULD NOT be hosted
on the CPE and SHOULD be outsourced to a third party.</t>
<t>In addition, the Naming Service of the Home Network is expected to be
deployed with its security extension DNSSEC. DNSSEC comes
with complex configurations as well as complex operation management like
(DNSSEC secure delegation, DNSSEC key roll over, DNSSEC zone updates). These
operations can hardly be understood by the average end user, and a
misconfiguration MAY result in invalid naming resolutions that MAY
make an host, or the whole home network unreachable. So, this document considers
DNSSEC management operations SHOULD NOT be handled by the average end user, but
SHOULD be outsourced to a third party.</t>
<t>This document describes an architecture where
the CPE outsources the authoritative naming service and DNSSEC zone
management to a third party designated as Public Authoritative Servers.
It describes interactions between the CPE and the Public Authoritative
Servers, that is to say the involved protocols and their respective
configurations. More
specifically, this document does not describe any new protocol. It provides
a guide line to properly use the already existing protocols.</t>
<t> This document intends to efficiently deploy DNSSEC in
the Home Networks in a standardized and highly flexible way. More
specifically, the described Home Network Naming architecture
is expected to lead to autoconfiguration facilities for most common users,
as well as enabling advanced users to have their own specific settings.
In fact, some end users MAY choose to host and expose a Naming service
on their CPE. Others MAY sign the zone on the CPE. Although the document does
not describe these scenarios, the described architecture only requires minor
modifications - such as allowing incoming DNS queries from the Internet and
adding the CPE in the list of Naming servers.</t>
<t>The document is organized as follows. <xref target="sec-arch-overview"/>
provides an overview of the homenet naming architecture and presents the CPE
and the Public Authoritative Server that handles the authoritative naming
service of the home network as well as DNSSEC management operations on
behalf of the CPE. <xref target="sec-arch-descr"/> describes in details
protocols and configurations to set the homenet naming architecture.
<xref target="sec-configuration-parameters"/> sums up the various
configuration parameters that MAY be filled by the end user on the CPE for
example via a GUI. Finally <xref target="sec-considerations"/> provides
security considerations.</t>
</section>
<section title="Terminology">
<t>
<list hangIndent="6" style="hanging">
<t hangText="- Customer Premises Equipment: ">(CPE) is the router providing connectivity to the home network. It is configured and managed by the end user. In this document, the CPE MAY also hosts services such as DHCPv6. This device MAY be provided by the ISP.</t>
<t hangText="- Registered Homenet Domain: "> is the Domain Name associated to the home network.</t>
<t hangText="- DNS Homenet Zone: ">is the DNS zone associated to the home network. This zone is set by the CPE and essentially contains the bindings between names and IP addresses of the nodes of the home network. In this document, the CPE does neither perform any DNSSEC management operations such as zone signing nor provide an authoritative service for the zone. Both are delegated to the Public Authoritative Server. The CPE synchronizes the DNS Homenet Zone with the Public Authoritative Server via a hidden master / slave architecture. The Public Authoritative Server MAY use specific servers for the synchronization of the DNS Homenet Zone: the Public Authoritative Name Server Set as public available name servers for the Registered Homenet Domain. </t>
<t hangText="- Public Authoritative Server: ">performs DNSSEC management operations as well as provides the authoritative service for the zone. In this document, the Public Authoritative Server synchronizes the DNS Homenet Zone with the CPE via a hidden master / slave architecture. The Public Authoritative Server acts as a slave and MAY use specific servers called Public Authoritative Name Server Set. Once the Public Authoritative Server synchronizes the DNS Homenet Zone, it signs the zone and generates the DNSSEC Public Zone. Then the Public Authoritative Server hosts the zone as an authoritative server on the Public Authoritative Master(s).</t>
<t hangText="- DNSSEC Public Zone: ">corresponds to the signed version of the DNS Homenet Zone. It is hosted by the Public Authoritative Server, which is authoritative for this zone, and is reachable on the Public Authoritative Master(s).</t>
<t hangText="- Public Authoritative Master(s): "> are the visible name server hosting the DNSSEC Public Zone. End users' resolutions for the Homenet Domain are sent to this server, and this server is a master for the zone.</t>
<t hangText="- Public Authoritative Name Server Set: ">is the server the CPE synchronizes the DNS Homenet Zone. It is configured as a slave and the CPE acts as master. The CPE sends information so the DNSSEC zone can be set and served.</t>
</list>
</t>
</section>
<section anchor="sec-arch-overview" title="Architecture Overview">
<t>Figure 1 provides an overview of the homenet naming architecture.</t>
<t>The CPE is in charge of building the DNS Homenet Zone that contains
all FQDN bindings of the home network. The home network is associated
to a FQDN, the Registered Homenet Domain (example.com). Any node in the home
network is associated to a FQDN (node1.example.com) that MAY be provided
via DHCP or statically configured on the CPE via a GUI for example.</t>
<t>The goal of the homenet naming architecture is that the CPE does
not handle any DNSSEC operations and does not host the authoritative
naming service while FQDNs in the Homenet Zone can be resolved with
DNSSEC by any node on the Internet.</t>
<t>In order to achieve this goal, when a node on the Internet sends
a DNS(SEC) query like for node1.example.com, this DNS(SEC) query
MUST be treated by a third party designated in figure 1 as the Public
Authoritative Servers.</t>
<t>The Public Authoritative Servers are in charge of DNS(SEC) traffic
for the Registered Homenet Domain (example.com) as well as all DNSSEC
management operations like zone signing, key rollover. The DNSSEC
zone hosted by the Public Authoritative Servers is called the DNSSEC
Public Zone.</t>
<t>The purpose of our architecture is to describe how the CPE can outsource
the DNS Homenet Zone hosted on the CPE to the DNSSEC Public Zone hosted
on the Public Authoritative Servers. This includes description of the
synchronization protocols between the CPE and the Public Authoritative
Servers in <xref target="sec-synch"/> as well as configurations of
the DNS Homenet Zone <xref target="sec-homenet-zone"/>.</t>
<figure>
<artwork><![CDATA[
home network +-------------------+ Internet
| |
| CPE |
| | +----------------------+
+-------+ |+-----------------+| | Public Authoritative |
| | || DNS Homenet Zone|| | Servers |
| node1 | || || |+--------------------+|
| | || Homenet Domain || || DNSSEC Public Zone ||
+-------+ || Name ||=========|| ||
|| (example.com) || ^ || (example.com) ||
node1.\ |+-----------------+| | |+--------------------+|
example.com +-------------------+ | +----------------------+
| ^ |
Synchronization | |
| |
DNSSEC resolution for node1.example.com | v
+----------------------+
| |
| DNSSEC Resolver |
| |
+----------------------+
Figure 1: Homenet Naming Architecture Description
]]></artwork>
</figure>
<t>The content of the DNS Homenet Zone is out of the scope of
this document. The CPE MAY host multiple services like a web
GUI, DHCP <xref target="RFC6644"/> or mDNS <xref target="RFC6762"/>.
These services MAY coexist and MAY be used
to populate the DNS Homenet Zone. This document assumes the DNS Homenet Zone has been populated with domain names that are intended to be publicly published and that are publicly reachable. More specifically, names associated to services or devices that are not expected to be reachable from outside the home network or names bound to non globally reachable IP addresses MUST NOT be part of the DNS Homenet Zone.</t>
<t>Because services or devices MAY only be reached from hosts in the home network, DNS resolution MAY be handled differently from inside the network and from outside the network.This is out of scope of this document. This document is focused on outsourcing the DNS Homenet Zone to the DNS Public Authoritative Servers that are visible from outside the home network. How to deal with a homenet view and a public view is out of the scope of this document. In order to deal with different views, some CPE MAY host DNS forwarders or use DNS view mechanisms.</t>
<t>This document does not make any other assumption on the DNS Homenet Zone that records MUST be made public. More specifically, the DNS Homenet Zone can be a regular or a reverse zone with PTR RRsets. A CPE SHOULD consider both the normal zone as well as the reverse zone and outsource them both to the designated Public Authoritative Servers.</t>
<t>By outsourcing to Public Authoritative Servers, services or devices mentioned in the DNS Homenet Zone MAY be not reachable in case the home network has no internet connectivity. How to keep the naming service within the home network when the it is disconnected from the public internet is out of scope of this document.
CPE MAY chose for example to host an authoritative naming server for the
home network or use a DNS forwarders.</t>
<t>Similarly, CPE MAY host a DNS(SEC) resolution
service for nodes in the home network. There are multiple ways
to configure the resolver service on the CPE. Detailing these
various configurations is out of the scope of this document,
and is considered as an implementation issue. Some implementers
MAY chose to forward DNS(SEC) queries from the home network to
the resolving server of its ISP or any other public resolver.
In that case, the DNS(SEC) response from the Public Authoritative
Servers is forwarded to the home network, which provide DNS and
DNSSEC resolution for the home network. Note also that in this case, the naming service depends on the connectivity with the resolving servers. In case the home network is disconnected, the naming service MAY not be available. Alternative implementations
MAY chose to take advantage of forwarders and lookup in the DNS Homenet Zone. This MAY provide
only DNS responses in the home network if the CPE does not sign the DNS Homenet Zone. Other implementation MAY
chose to synchronize the DNSSEC Public Zone on the CPE either
using DNS master slave mechanisms, or by caching the whole zone.
This latest option MAY require some additional configuration the
Public Authoritative Servers.</t>
</section>
<section anchor="sec-arch-descr" title="Architecture Description">
<t>This section describes how the CPE and the Public Authoritative
Servers SHOULD be configured to outsource authoritative naming
service as well as DNSSEC management operations.
<xref target="sec-synch"/> describes how a secure synchronization
between the CPE and the Public Authoritative server is set.
<xref target="sec-homenet-zone"/> provides guide lines for the DNS
Homenet Zone set in the CPE and uploaded on the Public Authoritative
Servers. <xref target="sec-dnssec-outsrc"/> describes DNSSEC
settings on the Public Authoritative Servers. Finally,
<xref target="sec-cpe-sec-policies"/> provides the security policies
that SHOULD be set on the CPE.</t>
<section anchor="sec-synch" title="CPE and Public Authoritative Servers Synchronization">
<section title="Synchronization with a Hidden Master">
<t>Uploading and dynamically updating the zone file on the Public
Servers can be seen as zone provisioning between the CPE (Hidden
Master) and the Public Server (Slave Server). This can be handled
either in band or out of band. DNS dynamic update <xref
target="RFC2136"/> may be used. However, in this section we detail how
to take advantage of the DNS slave / master architecture to deploy
updates to public zones.</t>
<t>The Public Authoritative Server is configured as a slave for the Homenet
Domain Name. This slave configuration has been previously agreed
between the end user and the provider of the Public Authoritative Servers.
In order to set the master/ slave architecture, the
CPE acts as a Hidden Master Server, which is a regular
Authoritative DNS(SEC) Server listening on the WAN interface.</t>
<t>The Hidden Master Server is expected to accept SOA <xref target="RFC1033"/>, AXFR
<xref target="RFC1034"/>, and IXFR <xref target="RFC1995"/> queries from its
configured slave DNS servers. The Hidden Master Server SHOULD
send NOTIFY messages <xref target="RFC1996"/> in order to update
Public DNS server zones as updates occur. Because, DNS Homenet Zones are likely to be small, CPE MUST implement AXFR and SHOULD implement IXFR.</t>
<!-- ## Comment: I do not understand what's wrong wit this section
<t>The CPE MUST be configured to send NOTIFY only when necessary. It
is recommended for example that it checks first the SOA on the Public
.Authoritative Server before sending a NOTIFY. In other words, rebooting a CPE
SHOULD NOT systematically trigger a NOTIFY message.</t>
-->
<t>Hidden Master Server differs from a regular authoritative server
for the home network by:
<list hangIndent="6" style="hanging">
<t hangText="- Interface Binding: ">the Hidden Master
Server listens on the WAN Interface, whereas a regular
authoritative server for the home network would listen on the
home network interface.</t>
<t hangText="- Limited exchanges: ">the purpose of the Hidden
Master Server is to synchronizes with the Public Authoritative
Servers, not to serve zone. As a result, exchanges are performed
with specific nodes (the Public Authoritative Servers). Then
exchange types are limited. The only legitimate exchanges are:
NOTIFY initiated by the Hidden Master and IXFR or AXFR
exchanges initiated by the Public Authoritative Servers.
On the other hand regular authoritative servers would respond
any hosts on the home network, and any DNS(SEC) query would be
considered. The CPE SHOULD filter IXFR/AXFR traffic and drop
traffic not initiated by the Public Authoritative Server. The
CPE MUST listen for DNS on TCP and UDP and at least allow SOA
lookups to the DNS Homenet Zone.</t>
</list>
</t>
</section>
<section title="Securing Synchronization">
<t>Exchange between the Public Servers and the CPE MUST be secured, at
least for integrity protection and for authentication. This is the
case whatever mechanism is used between the CPE and the Public
Authoritative DNS(SEC) Servers.</t>
<t>TSIG <xref target="RFC2845"/> or SIG(0) <xref target="RFC2931"/>
can be used to secure the DNS communications between the CPE and
the Public DNS(SEC) Servers. TSIG uses a symmetric key which can
be managed by TKEY <xref target="RFC2930"/>. Management of the
key involved in SIG(0) is performed through zone updates. How to
roll the keys with SIG(0) is out-of-scope of this document. The
advantage of these mechanisms is that they are only associated
with the DNS application. Not relying on shared
libraries ease testing and integration. On the other hand, using
TSIG, TKEY or SIG(0) requires that these mechanisms to be implemented
on the DNS(SEC) Server's implementation running on the CPE, which
adds codes. Another disadvantage is that TKEY does not provides
authentication mechanism.</t>
<t>Protocols like TLS <xref target="RFC5246"/> / DTLS <xref
target="RFC6347"/> can be used to secure the transactions between the
Public Authoritative Servers and the CPE. The advantage of TLS/DTLS is
that this technology is widely deployed, and most of the boxes already
embeds a TLS/DTLS libraries, eventually taking advantage of hardware
acceleration. Then TLS/DTLS provides authentication facilities and
can use certificates to authenticate the Public Authoritative Server
and the CPE. On the other hand, using TLS/DTLS requires to integrate
DNS exchange over TLS/DTLS, as well as a new service port. This is
why we do not recommend this option.</t>
<t>IPsec <xref target="RFC4301"/> IKEv2 <xref target="RFC5996"/> can
also be used to secure the transactions between the CPE and the Public
Authoritative Servers. Similarly to TLS/DTLS, most CPE already embeds
a IPsec stack, and IKEv2 provides multiple authentications
possibilities with its EAP framework. In addition, IPsec can be used
to protect the DNS exchanges between the CPE and the Public
Authoritative Servers without any modifications of the DNS Servers or
client. DNS integration over IPsec only requires an additional security
policy in the Security Policy Database. One disadvantage of IPsec is
that it hardly goes through NATs and firewalls. However, in our case,
the CPE is connected to the Internet, and IPsec communication between
the CPE and Public Authoritative Server SHOULD NOT be impacted by
middle boxes.</t>
<t>As mentioned above, TSIG, IPsec and TLS/DTLS may be used to secure
transactions between the CPE and the Public Authentication Servers.
The CPE and Public Authoritative Server SHOULD implement TSIG and
IPsec.</t>
<t>How the PSK can be used by any of the TSIG, TLS/DTLS or IPsec
protocols. Authentication based on certificates implies a mutual
authentication and thus requires the CPE to manage a private key,
a public key or certificates as well as Certificate Authorities.
This adds complexity to the configuration especially on the CPE
side. For this reason, we recommend that CPE MAY use PSK or
certificate base authentication and that Public Authentication
Servers MUST support PSK and certificate based authentication.</t>
</section>
</section>
<section anchor="sec-homenet-zone" title="DNS Homenet Zone configuration">
<t>As depicted in figure 1, he DNSSEC Public Zone is hosted on
the Public Authoritative Server, whereas the DNS Homenet Zone
is hosted on the CPE. As a result, the CPE MUST configure the
DNS Homenet Zone as if the DNS Homenet Zone were hosted by the
Public Authoritative Servers instead of the CPE.</t>
<t>If one considers the case where the CPE has a single Homenet
Domain Name and has an agreement with a single Public Authoritative
Server. In that case, the DNS Homenet Zone SHOULD configure its Name
Server RRset and Start of Authority with the ones associated
to the Public Authoritative Servers. This is illustrated in figure 2.
public.autho.servers.example.net is the domain name associated
to the Public Authoritative Server, and IP1, IP2, IP3, IP4 are
the IP addresses associated. </t>
<figure>
<artwork><![CDATA[
$ORIGIN example.com
$TTL 1h
@ IN SOA public.autho.servers.example.net
hostmaster.example.com. (
2013120710 ; serial number of this zone file
1d ; slave refresh
2h ; slave retry time in case of a problem
4w ; slave expiration time
1h ; maximum caching time in case of failed
; lookups
)
@ NS public.authoritative.servers.example.net
public.autho.servers.example.net A @IP1
public.autho.servers.example.net A @IP2
public.autho.servers.example.net AAAA @IP3
public.autho.servers.example.net AAAA @IP4
Figure 2: DNS Homenet Zone
]]></artwork>
</figure>
<t>The SOA RRset is defined in <xref target="RFC1033"/>, <xref target="RFC1035"/>. This SOA is specific as it is used for the synchronization between the Hidden Master and the Public Authoritative Name Server Set and published on the DNS Public Authoritative Master.
<list hangIndent="6" style="hanging">
<t hangText="- MNAME: ">indicates the primary master. In our case the zone is published on the Public Authoritative Master, and its name MUST be mentioned. If multiple Public Authoritative Masters are involved, one of them MUST be chosen. More specifically, the CPE MUST NOT place the name of the Hidden Master.</t>
<t hangText="- RNAME: ">indicates the email address to reach the administrator. <xref target="RFC2142"/> recommends to use hostmaster@domain and replacing the '@' sign by '.'.</t>
<t hangText="- REFRESH and RETRY: ">indicate respectively in seconds how often slaves need to check the master and the time between two refresh when a refresh has failed. Default value indicated by <xref target="RFC1033"/> are 3600 (1 hour) for refresh and 600 (10 minutes) for retry. This value MAY be long for highly dynamic content. However, Public Authoritative Masters and the CPE are expected to implement NOTIFY <xref target="RFC1996"/>. Then short values MAY increase the bandwidth usage for slaves hosting large number of zones. As a result, default values looks fine.</t>
<t hangText="EXPIRE: ">is the upper limit data SHOULD be kept in absence of refresh. Default value indicated by <xref target="RFC1033"/> is 3600000 about 42 days. In home network architectures, the CPE provides both the DNS synchronization and the access to the home network. This device MAY be plug / unplugged by the end user without notification, thus we recommend large period.</t>
<t hangText="MINIMUM: ">indicates the minimum TTL. Default value indicated by <xref target="RFC1033"/> is 86400 (1 day). For home network, this value MAY be reduced, and 3600 (1hour) seems more appropriated.</t>
</list>
</t>
<!-- ## Considerations on multiple Homenet Domaine Names
## are left for future versions
<t>When multiple Registered Homenet Domains are used
(like example.com, example.net, example.org), a DNS Homenet
Zone file per Registered Homenet Domain SHOULD be generated.
In order to synchronize the zone contents, the CPE may provide
all bindings in each zone files. As a result, any update MUST
be performed on all zone files, i.e. for all Registered Homenet
Domains. To limit this the number when multiple Registered Homenet
Domains are involved, the CPE may fill all bindings
in a specific zone file and redirect all other zones to that zone.
This can be achieved with redirecting mechanisms like
CNAME <xref target="RFC2181"/>, <xref target="RFC1034"/>,
DNAME <xref target="RFC6672"/> or CNAME+DNAME
<xref target="I-D.sury-dnsext-cname-dname"/>. This is an
implementation issue, but redirection mechanisms MAY be
preferred for large DNS Homenet Zone or when the number
of Registered Homenet Domain becomes quite large.</t>
-->
<t>When the end user considers multiple Public Authoritative
Servers for a given Registered Homenet Domain, the DNS Homenet Zone
MAY contain all associated Name Servers and IP addresses.</t>
<t>Some additional verification can check whether the CPE IP
address is mentioned in the Public Zone file, and raise a
warning to the End User.</t>
</section>
<section anchor="sec-dnssec-outsrc" title="DNSSEC outsourcing configuration">
<t>In this document we assumed that the Public Authoritative
Server signs the DNS Homenet Zone. Multiple variants MAY be
proposed by the Public Authoritative Servers. Public
Authoritative Servers MAY propose to sign the DNS Homenet
Zone with keys generated by the Public Authoritative Servers
and unknown to the CPE. Alternatively some MAY propose the end
user to provide the private keys. Although not considered in
this document some end user MAY still prefer to sign their
zone with their own keys they do not communicate to the Public
Authoritative Servers. All these alternatives result from a
negotiation between the end user and the Public Authoritative
Servers. This negotiation is performed out-of-band and is out
of scope of this document.</t>
<t>In this document, we consider that the Public Authoritative
Server has all the necessary cryptographic elements to perform
zone signing and key management operations.</t>
<t>Note that Public Authoritative Servers described in this
document accomplish different functions, and thus different
entities MAY be involved.
<list hangIndent="6" style="hanging">
<t hangText="- DNS Slave function">synchronizes the DNS Homenet Zone
between the CPE and the Public Authoritative Servers. The DNS
Homenet Zone on the Public Authoritative Servers is not
available, and the Public Authoritative Server MUST NOT address
any DNS queries for that zone. As a result, the Public
Authoritative Servers MAY chose a dedicated set of servers to
serve the DNS Homenet Zone: the Public Authoritative Name Server Set.</t>
<t hangText="- DNS Zone Signing function">signs the DNS Zone
Homenet Zone to generate an DNSSEC Public Zone.</t>
<t hangText="- DNSSEC Authoritative Server">hosts the naming
service for the DNSSEC Public Zone. Any DNS(SEC) query associated
to the Homenet Zone SHOULD be done using the specific servers
designated as the Public Authoritative Master(s).</t>
</list>
</t>
</section>
<section anchor="sec-cpe-sec-policies" title="CPE Security Policies">
<t>This section details security policies related to the
Hidden Master / Slave synchronization.</t>
<t>The Hidden Master, as described in this document SHOULD drop
any queries from the home network. This can be performed with
port binding and/or firewall rules.</t>
<t>The Hidden Master SHOULD drop on the WAN interface any DNS
queries that is not issued from the Public Authoritative Server Name
Server Set.</t>
<t>The Hidden Master SHOULD drop any outgoing packets other
than DNS NOTIFY query, SOA response, IXFR response or AXFR responses.</t>
<t>The Hidden Master SHOULD drop any incoming packets other
than DNS NOTIFY response, SOA query, IXFR query or AXFR query.</t>
<t>The Hidden Master SHOULD drop any non protected IXFR or
AXFR exchange. This depends how the synchronization is secured.</t>
</section>
</section>
<section anchor="sec-configuration-parameters" title="Homenet Naming Configuration">
<t>This section specifies the various parameters required by the CPE
to configure the naming architecture of this document. This section is
informational, and is intended to clarify the information handled by the
CPE and the various settings to be done.</t>
<t>Public Authoritative Servers MAY be defined with the following
parameters. These parameters are necessary to establish a secure
channel between the CPE and the Public Authoritative Server, and
to set the appropriated DNS Homenet Zone file:
<list hangIndent="6" style="hanging">
<t hangText="- Public Authoritative Name Server Set: ">
The associated FQDNs or IP addresses of the Public Authoritative
Server. IP addresses are optional and the FQDN is sufficient.
To secure the binding name and IP addresses, a DNSSEC exchange
is required. Otherwise, the IP addresses SHOULD be entered manually.</t>
<t hangText="- Authentication Method: ">How the CPE authenticates
itself to the Public Server. This MAY depend on the implementation
but we should consider at least IPsec, DTLS and TSIG</t>
<t hangText="- Authentication data: ">Associated Data. PSK only
requires a single argument. If other authentication mechanisms
based on certificates are used, then, files for the CPE private
keys, certificates and certification authority SHOULD be specified.</t>
<t hangText="- Public Authoritative Master(s): ">
The FQDN or IP addresses of the Public Authoritative Master.
It MAY correspond to the data that will be set in the
NS RRsets and SOA of the DNS Homenet Zone. IP addresses are optional
and the FQDN is sufficient. To secure the binding name and IP
addresses, a DNSSEC exchange is required. Otherwise, the IP
addresses SHOULD be entered manually.</t>
<t hangText="- Registered Homenet Domain: "> The domain name the Public
Authoritative is configured for DNS slave, DNSSEC zone signing
and DNSSEC zone hosting.</t>
</list></t>
<t>Setting the DNS Homenet Zone requires the following information.
<list hangIndent="6" style="hanging">
<t hangText="- Registered Homenet Domain: ">The Domain Name of the zone.
Multiple Registered Homenet Domain MAY be provided. This will generate
the creation of multiple DNS Homenet Zones.</t>
<t hangText="- Public Authoritative Server: ">The Public
Authoritative Servers associated to the Registered Homenet Domain.
Multiple Public Authoritative Server MAY be provided.</t>
</list></t>
</section>
<section anchor="sec-considerations" title="Security Considerations">
<t>The Homenet Naming Architecture described in this document solves
exposing the CPE's DNS service as a DoS attack vector.</t>
<section title="Names are less secure than IP addresses">
<t>This document describes how an End User can make his services and
devices from his Home Network reachable on the Internet with Names
rather than IP addresses. This exposes the Home Network to attackers
since names are expected to provide less randomness than IP addresses.
The naming delegation protects the End User's privacy by not providing
the complete zone of the Home Network to the ISP. However, using the
DNS with names for the Home Network exposes the Home Network and its
components to dictionary attacks. In fact, with IP addresses, the
Interface Identifier is 64 bit length leading to 2^64 possibilities
for a given subnetwork. This is not to mention that the subnet prefix
is also of 64 bit length, thus providing another 2^64 possibilities.
On the other hand, names used either for the Home Network domain or
for the devices present less randomness (livebox, router, printer,
nicolas, jennifer, ...) and thus exposes the devices to dictionary
attacks.</t>
</section>
<section title="Names are less volatile than IP addresses">
<t>IP addresses may be used to locate a device, a host or a Service.
However, Home Networks are not expected to be assigned the same Prefix
over time. As a result observing IP addresses 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 that logging IP
addresses, especially to profile 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 we recommend that End Users may choose to respond or not
to PTR DNS queries and may return a NXDOMAIN response.</t>
</section>
<!--
<section title="DNSSEC is recommended to authenticate DNS hosted data">
<t>The document describes how the Secure Delegation can be set between
the Delegating DNS Server and the Delegated DNS Server.</t>
<t>Deploying DNSSEC is recommended since in some cases the information
stored in the DNS is used by the ISP or an IT departments to grant
access. For example some Servers may performed a PTR DNS query to
grant access based on host names. With the described Delegating Naming
Architecture, the ISP or the IT department MUST take into
consideration that the CPE is outside its area of control. As such,
with DNS, DNS responses may be forged, resulting in isolating a
Service, or not enabling a host to access a service. ISPs or IT
department may not base their access policies on PTR or any DNS
information. DNSSEC fulfills the DNS lack of trust, and we recommend
to deploy DNSSEC on CPEs.</t>
</section>
-->
</section>
<section title="IANA Considerations">
<t>This document has no actions for IANA.</t>
</section>
<section title="Acknowledgment">
<t>The authors wish to thank Philippe Lemordant for its contributions
on the early versions of the draft, Ole Troan for pointing out issues with the
IPv6 routed home concept and placing the scope of this document in a
wider picture, Mark Townsley for encouragement and injecting a healthy
debate on the merits of the idea, Ulrik de Bie for providing alternative
solutions, Paul Mockapetris, Christian Jacquenet, Francis Dupont and
Ludovic Eschard for their remarks on CPE and low power devices, Olafur
Gudmundsson for clarifying DNSSEC capabilities of small devices,
Simon Kelley for its feedback as dnsmasq implementer.</t>
</section>
</middle>
<back>
<references title="Normative References">
&rfc1034;
&rfc1035;
&rfc1995;
&rfc1996;
&rfc2119;
&rfc2136;
&rfc2142;
<!--&rfc2181; -->
&rfc2845;
&rfc2930;
&rfc2931;
&rfc4301;
&rfc5246;
&rfc5996;
&rfc6347;
&rfc6644;
<!--&rfc6672; -->
&rfc6762;
</references>
<references title="Informational References">
&rfc1033;
<!--
&I-D.ietf-homenet-arch;
&I-D.sury-dnsext-cname-dname;
-->
</references>
<section title="Document Change Log">
<t>[RFC Editor: This section is to be removed before publication]</t>
<t>-03:</t>
<t>*Simon's comments taken into consideration</t>
<t>*Adding SOA, PTR considerations</t>
<t>*Removing DNSSEC performance paragraphs on low power devices</t>
<t>*Adding SIG(0) as a mechanism for authenticating the servers</t>
<t>*Goals clarification: the architecture described in the document 1) does not describe new protocols, and 2) can be adapted to specific cases for advance users.</t>
<t>-02:</t>
<t>*remove interfaces: "Public Authoritative Server Naming Interface" is replaced by "Public Authoritative Master(s)". "Public Authoritative Server Management Interface" is replaced by "Public Authoritative Name Server Set".</t>
<t>-01.3: </t>
<t>*remove the authoritative / resolver services of the CPE. Implementation dependent</t>
<t>*remove interactions with mdns and dhcp. Implementation dependent.</t>
<t>*remove considerations on low powered devices</t>
<t>*remove position toward homenet arch</t>
<t>*remove problem statement section</t>
<t>-01.2: </t>
<t>* add a CPE description to show that the architecture can fit CPEs</t>
<t>* specification of the architecture for very low powered devices.</t>
<t>* integrate mDNS and DHCP interactions with the Homenet Naming Architecture.</t>
<t>* Restructuring the draft. 1) We start from the homenet-arch draft to derive a Naming Architecture, then 2) we show why CPE need mechanisms that do not expose them to the Internet, 3) we describe the mechanisms.</t>
<t>* I remove the terminology and expose it in the figures A and B.</t>
<t>* remove the Front End Homenet Naming Architecture to Homenet Naming</t>
<t>-01: </t>
<t>* Added C. Griffiths as co-author.</t>
<t>* Updated section 5.4 and other sections of draft to update section
on Hidden Master / Slave functions with CPE as Hidden Master/Homenet
Server.</t>
<t>* For next version, address functions of MDNS within Homenet Lan and
publishing details northbound via Hidden Master.</t>
<t>-00: First version published.</t>
</section>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 01:37:17 |