One document matched: draft-ietf-homenet-front-end-naming-delegation-02.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 rfc2308 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2308.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 rfc4034 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4034.xml">
<!ENTITY rfc4192 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4192.xml">
<!ENTITY rfc4555 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4555.xml">
<!ENTITY rfc7010 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7010.xml">
<!ENTITY rfc4960 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4960.xml">
<!ENTITY rfc5155 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5155.xml">
<!ENTITY rfc5246 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5246.xml">
<!ENTITY rfc5936 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5936.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 rfc7296 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7296.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 rfc7368 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7368.xml">
<!ENTITY rfc6762 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6762.xml">
<!ENTITY rfc6763 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6763.xml">
<!ENTITY rfc6672 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6672.xml">
<!ENTITY rfc7344 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7344.xml">
<!ENTITY I-D.howard-dnsop-ip6rdns PUBLIC "" "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-howard-dnsop-ip6rdns-00.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 I-D.ietf-dnssd-requirements PUBLIC "" "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-dnssd-requirements-06.xml">
<!ENTITY I-D.ietf-homenet-naming-architecture-dhc-options PUBLIC "" "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-homenet-naming-architecture-dhc-options-01.xml">
]>

<rfc category="std"
     docName="draft-ietf-homenet-front-end-naming-delegation-02.txt"
     ipr="trust200902">
  <front>
    <title abbrev="Outsourcing Authoritative Naming Service">Outsourcing Home Network
    Authoritative Naming Service</title>
    <author fullname="Daniel Migault" initials="D." surname="Migault (Ed)">
      <organization>Ericsson</organization>
      <address>
        <postal>
          <street>8400 boulevard Decarie</street>
          <city>Montreal, QC H4P 2N2</city>
          <country>Canada</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 assign 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 result 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 associated to its home network, and 
      outsources the naming service and eventually the DNSSEC management
      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. To access services hosted in 
      the home network with IPv6 addresses, end users 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 addition, <xref target="RFC7368"/> recommends that home networks be resilient to connectivity disruption from the ISP. This requires that a dedicate device inside the home network manage bindings between names and IP addresses of the nodes and builds the DNS Homenet Zone. All this makes the CPE the
      natural candidate for setting the DNS(SEC) zone file of the home network.</t>

      <t>CPEs are usually low powered devices designed for the home network,
      but not for heavy traffic. As a result, hosting an authoritative 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.</t>

      <t>In order to avoid resource exhaustion, this document describes an
      architecture that outsources the authoritative naming service of
      the home network. More specifically, the DNS(SEC) Homenet Zone built by the CPE is outsourced to Public Authoritative Servers. These servers publish the corresponding DN(SEC) Public Zone on the Internet. <xref target="sec-arch-overview"/> describes the architecture. In order to keep the DNS(SEC) Public Zone up-to-date <xref target="sec-synch"/> describes how the DNS(SEC) Homenet Zone and the DN(SEC) Public Zone can be synchronized. The proposed architecture aims at deploying DNSSEC and the DNS(SEC) Public Zone is expected to be signed with a secure delegation. The zone signing and secure delegation can be performed either by the CPE or by the Public Authoritative Servers. <xref target="sec-dnssec-deplyment"/> discusses these two alternatives. <xref target="sec-views"/> discusses multiple views aspects and provide guidance to avoid them.  <xref target="sec-reverse"/> discusses the case of the reverse zone. <xref target="sec-renumbering"/> discusses how renumbering should be handled. Finally, <xref target="sec-privacy"/> and <xref target="sec-security"/> respectively discuss privacy and security considerations when outsourcing the DNS Homenet Zone.</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 host 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 primary / secondary 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="- DNS Homenet Reverse Zone: ">The reverse zone file associated to the DNS Homenet Zone.</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 primary / secondary architecture. The Public Authoritative Server acts as a secondary 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 Primary(ies).</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 Primary(ies).</t>
            <t hangText="- Public Authoritative Primary(ies): "> 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 primary 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 secondary and the CPE acts as primary. The CPE sends information so the DNSSEC zone can be set and served.</t>
            <t hangText="- Reverse Public Authoritative Primary(ies): "> are the visible name server hosting the DNS Homenet Reverse Zone. End users' resolutions for the Homenet Domain are sent to this server, and this server is a primary for the zone.</t>
            <t hangText="- Reverse Public Authoritative Name Server Set: ">is the server the CPE synchronizes the DNS Homenet Reverse Zone. It is configured as a secondary and the CPE acts as primary. The CPE sends information so the DNSSEC zone can be set and served.</t>
        </list>
    </t>
    </section>

    <section anchor="sec-arc-desc" title="Architecture Description">
    <t>This section describes the architecture for outsourcing the authoritative naming service from the CPE to the Public Authoritative Primary(ies). <xref target="sec-arch-overview"/> describes the architecture, <xref target="sec-homenet-zone"/> and <xref target="sec-configuration-parameters"/> illustrate this architecture and shows how the DNS(SEC) Homenet Zone should be built by the CPE, as well as lists the necessary parameters the CPE needs to outsource the authoritative naming service. These two section are informational and non normative.</t>
  
    <section anchor="sec-arch-overview" title="Architecture Overview">

      <t><xref target="fig-naming-arch"/> provides an overview of the architecture.</t>

      <t>The home network is designated by the Registered Homenet Domain Name -- example.com in <xref target="fig-naming-arch"/>. The CPE builds the DNS(SEC) Homenet Zone associated to the home network. How the DNS(SEC) Homenet Zone is built is out of the scope of this document. The CPE may host and involve 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(SEC) 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(SEC) Homenet Zone.</t> 

<t>Once the  DNS(SEC) Homenet Zone has been built, the CPE does not host the authoritative naming service for it, but instead outsources it to the Public Authoritative Servers. The Public Authoritative Servers take the DNS(SEC) Homenet as an input and publishes the DNS(SEC) Public Zone. In fact the DNS(SEC) Homenet Zone and the DNS(SEC) Public Zone have different names as they may be different. If the CPE does not sign the DNS Homenet Zone, for example, the Public Authoritative Servers may instead sign it on behalf of the CPE. <xref target="fig-naming-arch"/> provides a more detailed description of the Public Authoritative Servers, but overall, it is expected that the CPE provides the DNS(SEC) Homenet Zone, the DNS(SEC) Public Zone is derived from the DNS(SEC) Homenet Zone and published on the Internet.</t> 

<t>As a result, DNS(SEC) queries from the DNS(SEC) Resolvers on the Internet are answered by the Public Authoritative Server and do not reach the CPE. <xref target="fig-naming-arch"/> illustrates the case of the resolution of node1.example.com.</t> 
 

     <figure title="Homenet Naming Architecture Description" anchor="fig-naming-arch">
        <artwork><![CDATA[
home network +-------------------+ Internet
             |                   |     
             |        CPE        |           
             |                   |         +----------------------+       
+-------+    |+-----------------+|         | Public Authoritative |
|       |    || DNS(SEC) Homenet||         | Servers              |
| node1 |    || Zone            ||         |+--------------------+|
|       |    ||                 ||         ||DNS(SEC) Public Zone||
+-------+    || Homenet Domain  ||=========||                    ||
             || Name            ||   ^     ||   (example.com)    ||
node1.\      || (example.com)   ||   |     |+--------------------+|
example.com  |+-----------------+|   |     +----------------------+ 
             +-------------------+   |          ^     | 
                             Synchronization    |     |
                                                |     |
      DNSSEC resolution for node1.example.com   |     v                      
                                           +----------------------+   
                                           |                      |  
                                           |   DNSSEC Resolver    |  
                                           |                      |  
                                           +----------------------+  
]]></artwork>
      </figure>


    <t>The Public Authoritative Servers are described in <xref target="fig-auth-servers"/>. The Public Authoritative Name Server Set receives the DNS(SEC) Homenet Zone as an input. The received zone may be transformed to output the DNS(SEC) Public Zone. Various operations may be performed here, however this document only considers zone signing as potential operation. This could occur only when the CPE outsources this operation to the Public Authoritative Name Server Set. On the other hand, if the CPE signs the DNSSEC Homenet Zone itself, the zone it collected by the Public Authoritative Name Server Set and directly transferred to the Public Authoritative Primary. Implications of such policy are detailed in <xref target="sec-dnssec-deplyment"/> and <xref target="sec-views"/>.</t>

     <figure title="Public Authoritative Servers Description" anchor="fig-auth-servers">
        <artwork><![CDATA[
                                   Internet

          +--------------------------------------------------------+
          |              Public Authoritative Servers              |
          +--------------------------------------------------------+

          +----------------------+         +----------------------+
          |                      |         |                      | 
          | Public Authoritative |         | Public Authoritative |
          | Name Server Set      |         | Primaries            |
          |                      |         |                      | 
          | +------------------+ |    X    | +------------------+ | 
          | | DNS(SEC) Homenet | |    ^    | | DNS(SEC) Public  | | 
=========>| | Zone             | |    |    | | Zone             | |
    ^     | |                  | |    |    | |                  | |
    |     | | (example.com)    | |    |    | | (example.com)    | | 
    |     | +------------------+ |    |    | +------------------+ |
    |     +----------------------+    |    +----------------------+
    |                         Homenet to Public Zone
Synchronization                   transformation
from the CPE
]]></artwork>
      </figure>

    
    </section>

    <section anchor="sec-homenet-zone" title="Example: DNS(SEC) Homenet Zone">
        <t>This section is not normative and intends to illustrate how the CPE builds the DNS(SEC) Homenet Zone. </t> 
        <t>As depicted in <xref target="fig-naming-arch"/> and <xref target="fig-auth-servers"/>, 
        the DNS(SEC) Public Zone is hosted on the Public Authoritative Primaries, whereas the DNS(SEC) Homenet Zone is hosted on the CPE. Motivations for keeping these two zones identical are detailed in <xref target="sec-views"/>, and this section considers that the CPE builds the zone that will be effectively published on the Public Authoritative Primaries. In other words "Homenet to Public Zone transformation" is the identity.</t>

        <t>In that case, the DNS Homenet Zone should configure its Name
        Server RRset (NS) and Start of Authority (SOA) with the ones associated 
        to the Public Authoritative Primaries. This is illustrated in <xref target="fig-homenet-zone"/>. 
        public.primary.example.net is the FQDN of the Public Authoritative Primaries, and IP1, IP2, IP3, IP4 are the associated IP addresses. Then the CPE should add the different new nodes that enter the home network, remove those that should be removed and sign the DNS Homenet Zone.</t>

        
     <figure title="DNS Homenet Zone" anchor="fig-homenet-zone" >
        <artwork><![CDATA[
        $ORIGIN example.com
        $TTL 1h
        
        @  IN  SOA  public.primary.example.net 
                    hostmaster.example.com. (
              2013120710 ; serial number of this zone file
              1d         ; secondary refresh 
              2h         ; secondary retry time in case of a problem
              4w         ; secondary expiration time 
              1h         ; maximum caching time in case of failed 
                         ; lookups
              )

        @   NS  public.authoritative.servers.example.net

        public.primary.example.net   A @IP1
        public.primary.example.net   A @IP2
        public.primary.example.net   AAAA @IP3
        public.primary.example.net   AAAA @IP4
]]></artwork>
      </figure>
       <t>The SOA RRset is defined in <xref target="RFC1033"/>, <xref target="RFC1035"/> and <xref target="RFC2308"/>. This SOA is specific as it is used for the synchronization between the Hidden Primary and the Public Authoritative Name Server Set and published on the DNS Public Authoritative Primary.

        <list hangIndent="6" style="hanging">
           <t hangText="- MNAME: ">indicates the primary. In our case the zone is published on the Public Authoritative Primary, and its name MUST be mentioned. If multiple Public Authoritative Primaries are involved, one of them MUST be chosen. More specifically, the CPE MUST NOT place the name of the Hidden Primary.</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 secondaries need to check the primary 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 Primaries and the CPE are expected to implement NOTIFY <xref target="RFC1996"/>. Then short values MAY increase the bandwidth usage for secondaries 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 plugged and 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 (1 hour) 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>
        -->
    </section>


<section anchor="sec-configuration-parameters" title="Example: CPE necessary parameters for outsourcing">

      <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 Name Server Set may be defined with the following
      parameters. These parameters are necessary to establish a secure 
      channel between the CPE and the Public Authoritative Name Server Set:
      <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 Primary(ies): ">
          The FQDN or IP addresses of the Public Authoritative Primary. 
          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 secondary, DNSSEC zone signing
          and DNSSEC zone hosting.</t>
        </list></t>

      <t>Setting the DNS(SEC) 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 Primaries: ">The public 
          authoritative servers associated to the Registered Homenet Domain. 
          Multiple public authoritative server may be provided.</t>
        </list></t>

    </section>

</section>
   
    <section anchor="sec-synch" title="Synchronization between CPE and Public Authoritative Name Server Sets">

        <t>The DNS(SEC) Homenet Reverse Zone and the DNS Homenet Zone can be updated either with DNS update <xref target="RFC2136"/> or using a primary / secondary synchronization. The primary / secondary mechanism is preferred as it better scales and avoids DoS attacks: First the primary notifies the secondary the zone must be updated, and leaves the secondary to proceed to the update when possible. Then, the NOTIFY message sent by the primary is a small packet that is less likely to load the secondary. At last, the AXFR query performed by the secondary is a small packet sent over TCP (section 4.2 <xref target="RFC5936"/>) which makes unlikely the secondary to perform reflection attacks with a forged NOTIFY. On the other hand, DNS updates can use UDP, packets require more processing then a NOTIFY, and they do not provide the server the opportunity to post-pone the update.</t>
    <t>This document recommends the use of a primary / secondary mechanism instead of the use of nsupdates. This section details the primary / secondary mechanism.</t>

        <section title="Synchronization with a Hidden Primary">

        <t>Uploading and dynamically updating the zone file on the Public
        Authoritative Name Server Set can be seen as zone provisioning between the CPE (Hidden
        Primary) and the Public Authoritative Name Server Set (Secondary Server). This can be handled
        either in band or out of band. </t>

        <t>The Public Authoritative Name Server Set is configured as a secondary for the Homenet
        Domain Name. This secondary configuration has been previously agreed
        between the end user and the provider of the Public Authoritative Name Server Sets. 
        In order to set the primary/ secondary architecture, the
        CPE acts as a Hidden Primary Server, which is a regular
        Authoritative DNS(SEC) Server listening on the WAN interface.</t>

        <t>The Hidden Primary Server is expected to accept SOA <xref target="RFC1033"/>, AXFR
        <xref target="RFC1034"/>, and  IXFR <xref target="RFC1995"/> queries from its
        configured secondary DNS servers. The Hidden Primary 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>
 

        <t>Hidden Primary Server differs from a regular authoritative server 
        for the home network by: 
            <list hangIndent="6" style="hanging">
            <t hangText="- Interface Binding: ">the Hidden Primary 
            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 
            Primary Server is to synchronizes with the Public Authoritative
           Name Server Set, not to serve zone. As a result, exchanges are performed
            with specific nodes (the Public Authoritative Name Server Sets). Then 
            exchange types are limited. The only legitimate exchanges are:
            NOTIFY initiated by the Hidden Primary and IXFR or AXFR
            exchanges initiated by the Public Authoritative Name Server Set.
            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 Name Server Set. 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 Authoritative Name Server Sets and the CPE MUST be secured, at
        least for integrity protection and for authentication. </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 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 provide 
        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 Name Server Sets 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 Name Server Set
        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="RFC7296"/> 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 Name Server Set 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 Name Server Set 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 Authoritative Servers 
        Servers MUST support PSK and certificate based authentication.</t>

        <t>Note also that authentication of the messages exchanged between the CPE and the Public Authoritative Name Server Set should not involve the IP address to index the appropriated keys. As detailed in <xref target="sec-renumbering"/>, the IP addresses of the Public Authoritative Name Server Set and the Hidden Primary are subject to change, for example while the network is being renumbered. This means that the necessary keys to authenticate transaction must not be indexed using the IP and be resilient to IP updates.</t>
        </section>

        <section anchor="sec-cpe-sec-policies" title="CPE Security Policies">
            <t>This section details security policies related to the 
            Hidden Primary / Secondary synchronization.</t>
            
            <t>The Hidden Primary, 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 Primary SHOULD drop on the WAN interface any DNS 
            queries that is not issued from the Public Authoritative Name
            Server Set.</t>
            <t>The Hidden Primary SHOULD drop any outgoing packets other 
            than DNS NOTIFY query, SOA response, IXFR response or AXFR responses.</t> 
            <t>The Hidden Primary SHOULD drop any incoming packets other 
            than DNS NOTIFY response, SOA query, IXFR query or AXFR query.</t>
            <t>The Hidden Primary SHOULD drop any non protected IXFR or 
            AXFR exchange. This depends how the synchronization is secured.</t>
        </section>

    </section>

    <section anchor="sec-dnssec-deplyment" title="DNSSEC compliant Homenet Architecture">

    <t><xref target="RFC7368"/> in Section 3.7.3 recommends DNSSEC to be deployed on the both the authoritative server and the resolver. The resolver side is out of scope of this document, and only the authoritative part is considered.</t>

    <t>Deploying DNSSEC requires signing the zone and configuring a secure delegation. As described in <xref target="sec-arch-overview"/>, signing can be performed by the CPE or by the Public Authoritative Name Server Sets. <xref target="sec-zone-signing"/> details the implications of these two alternatives. Similarly, the secure delegation can be performed by the CPE or by the Public Authoritative Servers. <xref target="sec-ds"/> discusses these two alternatives.</t>

        <section title="Zone Signing" anchor="sec-zone-signing">
        <t>This section discusses the pros and cons when zone signing is performed by the CPE or by the Public Authoritative Name Servers Set. It is recommended the CPE signs the zone unless there is a strong argument against it, like a CPE that is not able to sign the zone. In that case zone signing may be performed by the Public Authoritative Name Servers Set on behalf of the CPE.</t>

        <t>Reasons for signing the zone by the CPE are:
        <list hangIndent="6" style="hanging">
            <t hangText="- 1: ">Keeping the Homenet Zone and the Public Zone equals to securely optimize DNS resolution. As the Public Zone is signed with DNSSEC, RRsets are authenticated and thus DNS responses can be validated even though they are not provided by the authoritative server. This provides the CPE the ability to respond on behalf of the Public Authoritative Primary. This could be useful for example if, in the future, the CPE could announce to the home network that the CPE can act a a local authoritative primary or equivalent for the Homenet Zone. Currently the CPE is not expected to receive authoritative DNS queries as its IP address is not mentioned in the Public Zone. On the other hand most CPEs host a resolving function, and could be configured to perform a local lookup to the Homenet Zone instead of initiating a DNS exchange with the  Public Authoritative Primary. Note that outsourcing the zone signing operation requires that all DNSSEC queries be cached to perform a local lookup, otherwise a resolution with the Public Authoritative Primary is performed.</t>
             <t hangText="- 2: ">Keeping the Homenet Zone and the Public Zone equals to securely address the connectivity disruption independence exposed in <xref target="RFC7368"/> section 4.4.1 and 3.7.5. As local lookups are possible in case of network disruption, communications within the home network can still rely on the DNSSEC service. Note that outsourcing the zone signing operation does not address connectivity disruption independence with DNSSEC. Instead local lookup would provide DNS as opposed to DNSSEC responses provided by the Public Authoritative Primaries.</t>
             <t hangText="- 3: ">Keeping the Homenet Zone and the Public Zone equals to guarantee coherence between DNS(SEC) responses. Using a unique zone is one way to guarantee uniqueness of the responses among servers and places. Issues generated by different views are discussed in more details in <xref target="sec-views"/>.</t>

            <t hangText="- 2: ">Privacy and Integrity of the DNS Zone are better guaranteed. When the Zone is signed by the CPE, it makes modification of the DNS data -- for example for flow redirection -- not possible. As a result, signing the Homenet Zone by the CPE provides better protection for the end user privacy.</t>
         </list>
     </t>
    
    <t>Reasons for signing the zone by the Public Authoritative Servers are:
        <list hangIndent="6" style="hanging">
            <t hangText="- 1: ">The CPE is not able to sign the zone, most likely because its firmware does not make it possible. However the reason is expected to be less and less valid over time.</t>
            <t hangText="- 2: ">Outsourcing DNSSEC management operations. Management operations involve key-roll over which can be done automatically by the CPE and transparently for the end user. As result avoiding DNSSEC management is mostly motivated by bad software implementations.</t>
            <t hangText="- 3: ">Reducing the impact of CPE replacement on the Public Zone. Unless the CPE private keys are backuped, CPE replacement results in a emergency key roll over. This can be mitigated also by using relatively small TTLs.</t>
            <t hangText="- 4: ">Reducing configuration impacts on the end user. Unless there are some zero configuration mechanisms to provide credentials between the new CPE and the Public Authoritative Name Server Sets. Authentications to Public Authoritative Name Server Set should be re-configured. As CPE replacement is not expected to happen regularly, end users may not be at ease with such configuration settings. However, mechanisms as described in <xref target="I-D.ietf-homenet-naming-architecture-dhc-options"/> use DHCP Options to outsource the configuration and avoid this issue.</t>
            <t hangText="- 5: ">Public Authoritative Servers are more likely to handle securely private keys than the CPE. However, having all private information at one place may also balance that risk.</t>
         </list>
     </t>

        </section>

        <section title="Secure Delegation" anchor="sec-ds">
        <t>The secure delegation is set if the DS RRset is properly set in the parent zone. Secure delegation can be performed by the CPE or the Public Authoritative Servers.</t>

        <t>The DS RRset can be updated manually by the CPE or the Public Authoritative Servers. This can be used then with nsupdate for example but requires the CPE or the Public Authoritative Server to be authenticated by the Parent Zone Server. Such a trust channel between the CPE and the Parent Zone server may be hard to maintain, and thus may be easier to establish with the Public Authoritative Server. On the other hand, <xref target="RFC7344"/> may mitigate such issues.</t>

        </section>


    </section>

    <section anchor="sec-views" title="Handling Different Views">

    <t>The DNS Homenet Zone provides information about the home network and some user may be tempted to have different information regarding the origin of the DNS query. More specifically, some users may be tempted to provide a different view for DNS queries originating from the home network and for DNS queries coming from the wild Internet. Each view can be associated to a dedicated Homenet Zone. 

<!--Regarding <xref target="fig-naming-arch"/>, an example of an implementation of two distinct view could be the DNS(SEC) Homenet Zone that describes the homenet view and the DNS(SEC) Public Zone that contains the Internet view, with these two zones being different.-->
 
Note that this document does not specify how DNS queries coming from the home network are addressed to the DNS(SEC) Homenet Zone. This could be done via the DNS resolver hosted on the CPE for example.</t>

    <t>This section is not normative. <xref target="sec-reasons"/> details why some nodes may only be reachable from the home network and not from the global Internet. <xref target="sec-consequences"/> briefly describes the consequences of having distinct views such as a "home network view" and a "Internet view". Finally, <xref target="sec-guidance"/> provides guidance to on how to resolve names that are only significant in the home network without creating different views.</t>

    <section title="Misleading Reasons for Local Scope DNS Zone" anchor="sec-reasons">
    <t>The main motivation to handle different views is to provide different information depending on the location the DNS query is emitted. Here are a few motivations for doing so:
         <list hangIndent="6" style="hanging">
            <t hangText="- 1: ">An end user may want to have services not published on the Internet. Services like the CPE administration interface that provides the GUI to administrate your CPE may not be published on the Internet. Similarly services like the mapper that registers the devices of your home network may not be published on the Internet. In both case, these services should only be known/used by the network administrator. To restrict the access of such services, the home network administrator may chose to publish these information only within the home network, where it may suppose users are more trustable then on the Internet. Even though, this assumption may not be valid, at least, this reduces the surface of attack.</t>
            <t hangText="- 2: ">Services within the home network may be reachable using non global IP addresses. IPv4 and NAT may be one reason. On the other hand IPv6 may favor link-local or site-local IP addresses. These IP addresses are not significant outside the boundaries of the home network. As a result, they may be published in the home network view, and should not be published in the Internet.</t>
            <t hangText="- 3: ">If the CPE does not sign the Homenet Zone and outsource the signing process, the two views are at least different since, one is protected with DNSSEC whereas the other is not.</t>   
         </list>
    </t> 

    </section>

    <section title="Consequences" anchor="sec-consequences">
    <t>Enabling different views leads to a non-coherent naming system. Basically, depending on where resolution is performed, some services will not be available. This may be especially inconvenient with devices with multiple interfaces that are attached both to the Internet via a 3G/4G interface and to the home network via a WLAN interface. </t>
    <t>Regarding local-scope IP addresses, such device may end up with poor connectivity. Suppose, for example, the DNS resolution is performed via the WLAN interface attached to the CPE, the response provides local-scope IP addresses and the communication is initiated on the 3G/4G interface. Communications with local-scope addresses will be unreachable on the Internet, thus aborting the communication. The same situation occurs if a device is flip / flopping between various WLAN networks.</t>
    <t>Regarding DNSSEC, devices with multiple interfaces will have difficulties to secure the naming resolution as responses emitted from the home network may not be signed.</t> 
 
    <t>For devices with all its interfaces attached to a single administrative domain, that is to say the home network or the Internet. Incoherence between DNS responses may also happen if the device is able to perform DNS resolutions. DNS resolutions performed via the CPE resolver may be different then those performed over the Internet.</t>   
    </section>

    <section title="Guidance and Recommendations" anchor="sec-guidance">
    <t>As exposed in <xref target="sec-consequences"/>, it is recommended to avoid different views. If network administrators chose to implement multiple views, impacts on devices' resolution should be evaluated.</t>

    <t>A consequence the DNS(SEC) Homenet Zone is expected to be the exact copy of the DNS(SEC) Public Zone. As a result, services that are not expected to be published on the Internet should not be part of the DNS(SEC) Homenet Zone,  local-scope address should not be part of the DNS(SEC) Homenet Zone, and when possible, the CPE should sign the DNS(SEC) Homenet Zone.</t>
    <t>The DNS(SEC) Homenet Zone is expected to host public information. It is not to the DNS service to define local home networks boundaries. Instead, local scope information is expected to be provided to the home network using local scope naming services. mDNS <xref target="RFC6762"/> DNS-SD <xref target="RFC6763"/> are one of these services. Currently mDNS is limited to a single link network. However, future protocols are expected to leverage this constraint as pointed out in <xref target="I-D.ietf-dnssd-requirements"/>.</t>      
    </section>

    </section>

    <section anchor="sec-reverse"  title="Reverse Zone">
     <t>Most of the description considered the DNS Homenet Zone as the non-Reverse Zone. This section is focused on the Reverse Zone. </t>

     <t>First, all considerations for the DNS Homenet Zone apply to the Reverse Homenet Zone. The main difference between the Reverse DNS Homenet Zone and the DNS Homenet Zone is that the parent zone of the Reverse Homenet Zone is most likely managed by the ISP. As the ISP also provides the IP prefix to the CPE, it may be able to authenticate the CPE. If the Reverse Public Authoritative Name Server Set is managed by the ISP, credentials to authenticate the CPE for the zone synchronization may be set automatically and transparently to the end user. <xref target="I-D.ietf-homenet-naming-architecture-dhc-options"/> describes how automatic configuration may be performed.</t>
   
     <t>With IPv6, the domain space for IP address is so large, that reverse zone may be confronted to a scalability issue. How to reverse zone is generated is out of scope of this document. <xref target="I-D.howard-dnsop-ip6rdns"/> provides guidance on how to address the scalability issue.</t> 
    </section>

    <section anchor="sec-renumbering" title="Renumbering">
    <t>This section details how renumbering is handled by the Hidden Primary server or the Public Authoritative Name Server Set which acts as a secondary server. Both types of renumbering also designated as "make-before-break" or "break-before-make" are discussed.</t>

    <t>In the make-before-break renumbering scenario, the new prefix is advertised, 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. In the break-before-make renumbering scenario, the new prefix is advertised making the old prefix obsolete.</t>

    <t>Renumbering has been extensively described in <xref target="RFC4192"/> and analyzed in <xref target="RFC7010"/> and the reader is expected to become familiar with them.</t> 

    <section title="Hidden Primary" anchor="sec-primary">
 
        <t>In a renumbering scenario, the Hidden Primary is informed it is being renumbered. In most cases, it occurs as the whole home network is being renumbered. As a result, the DNS(SEC) Homenet Zone will also be updated. Although the new and old IP addresses may be stored in the DNS(SEC) Homenet Zone, we recommend that only the newly reachable IP addresses be mentioned.</t>

    <t>
To avoid reachability disruption, IP connectivity information provided by the DNS should be coherent with the IP plane. In our case, this means the old IP address should not be provided via the DNS, when it is not reachable anymore. Let for example TTL be the TTL associate to a RRset of the Homenet Zone, it may be cache during TTL seconds. Let T_NEW be the time the new IP address replaces the old IP address in the DNS, and T_OLD_UNREACHABLE the time the old IP is not reachable anymore. 
In the case of the make-before-break, seamless reachability is provided as long as T_OLD_UNREACHABLE - T_NEW > 2 * TTL. If this is not satisfied, then devices associated to the old IP address in the home network may become unreachable for 2 * TTL - (T_OLD_UNREACHABLE - T_NEW). In the case of a break-before-make, T_OLD_UNREACHABLE = T_NEW, and the device may become non reachable up to 2 * TTL.</t>

        <t>Once the DNS(SEC) Homenet Zone file has been updated on the Hidden Primary, the Hidden Primary needs to inform the Public Authoritative Naming Server Set that the DNS(SEC) Homenet Zone has been updated and that the IP address to use to retrieve the updated zone has also been updated. Both information are updated using the regular DNS exchanges. More specifically, mechanisms to update a IP address provided by lower layers with for protocols like SCTP <xref target="RFC4960"/>, MOBIKE <xref target="RFC4555"/> are not considered in this document.</t>     
        
        <t>The Hidden Primary informs the Public Authoritative Name Server Set the DNS(SEC) Homenet Zone has been updated by sending a NOTIFY payload with the new IP address. In addition, this NOTIFY payload is authenticated using SIG(0) or TSIG. When the Public Authoritative Name Server Set receives the NOTIFY payload, it MUST authenticate it. Note that the cryptographic key used for the authentication should be indexed by the Homenet Domain Name contained in the NOTIFY payload as well as the RRSIG. In other words, the IP address should not be used as an index. If authentication succeeds, the Public Authoritative Name Server Set MUST also notice the IP address has been modified and perform a reachability check before updating its primary configuration. The routability check is performed by sending a SOA request to the Hidden Primary using the source IP address of the NOTIFY. This exchange is also secured, and if an authenticated response is received from the Hidden Primary with the new IP address, the Public Authoritative Name Server Set updates its configuration file and retrieve the DNS(SEC) Homenet Zone using an AXFR or a IXFR exchange.</t>

        <t>Note that the primary reason for providing the IP address is that the Hidden Primary is not publicly announced in the DNS. If the Hidden Primary were publicly announced in the DNS, then the IP address update could have been performed using the DNS as described in <xref target="sec-secondary"/>.</t>

 
    </section>

    <section anchor="sec-secondary" title="Public Authoritative Name Server Set">
    <t>Renumbering of the Public Authoritative Name Server Set results in the Public Authoritative Name Server Set to change its IP address. The Public Authoritative Name Server Set is a secondary, so its renumbering does not impact the DNS(SEC) Homenet Zone. In fact, exchanges to the Public Authoritative Name Server Set are restricted to the DNS(SEC) Homenet Zone synchronization. In our case, the Hidden Primary MUST be able to send NOTIFY payloads to the Public Authoritative Name Server Set.</t>

    <t>If the Public Authoritative Name Server Set is configured in Hidden Primary configuration file with a FQDN, then the update of the IP address is performed by the DNS(SEC). More specifically, before sending the NOTIFY, the Hidden Primary performs a DNS(SEC) resolution to retrieve the IP address of the secondary.</t> 

<t>As described in <xref target="sec-primary"/>, the Public Authoritative Name Server Set DNS information should be coherent with the IP plane. Let TTL be the TTL associated to the Public Authoritative Name Server Set FQDN, T_NEW the time the new IP address replaces the old one and T_OLD_UNREACHABLE the time the Public Authoritative Name Server Set is not reachable anymore with its old IP address. Seamless reachability is provided as long as T_OLD_UNREACHABLE - T_NEW > 2 * TTL. If this condition is not met, the Public Authoritative Name Server Set may be unreachable during 2 * TTL - (T_OLD_UNREACHABLE - T_NEW). In the case of a break-before-make, T_OLD_UNREACHABLE = T_NEW, and it may become non reachable up to 2 * TTL.</t>   
 

    <t>Some DNS infrastructure uses the IP address to designate the secondary, in which case, other mechanisms must be found. The reason for using IP addresses instead of names is generally, to reach an internal interface that is not designated by a FQDN. Such scenarios are considered as out of scope in the case of home networks.</t>
    </section>
    </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 Primary(ies).</t>
        </list>
        </t>

    </section>
-->


<!--
</section>
-->
    <section anchor="sec-privacy" title="Privacy Considerations">
    <t>Outsourcing the DNS Authoritative service from the CPE to a third entity comes with a few privacy related concerns.</t>
    <t>First the DNS Homenet Zone contains a full description of the services hosted in the network. These services may not be expected to be publicly shared although their names remains accessible though the Internet. Even though DNS makes information public, the DNS does not expect to make the complete list of service public. In fact, making information public still requires the key (or FQDN) of each service to be known by the resolver in order to retrieve information of the services. More specifically, making mywebsite.example.com public in the DNS, is not sufficient to make resolvers aware of the existence web site.</t>

    <t>In order to prevent the complete DN(SEC) Homenet Zone to be published on the Internet, one should prevent AXFR queries on the Public Authoritative Primaries. Similarly, to avoid zone-walking one should prefer NSEC3 <xref target="RFC5155"/> over NSEC <xref target="RFC4034"/>.</t>
    <t>When the DNS Homenet Zone is outsourced the end user must be aware that it provides a complete description of the services available on the home network. More specifically, names usually provides a clear indication of the service and eventually the device, by as the DNS Homenet Zone contains the IP addresses associated to the service, they limit the scope of the scan.</t>

    <t>In addition to the DNS Homenet Zone, the third party can also monitor the traffic associated to the DNS Homenet Zone. This traffic may provide indication of the services you use, how and when you use these services. Although, cache may alter this information inside the home network, it is likely that outside your home network this information will not be cached.</t>
    </section>

    <section anchor="sec-security" 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="DNS Reflection Attacks" anchor="sec-reflection-attack">
         <t>An attacker uses a reflection attack when it sends traffic to an intermediary node that in turn sends back some traffic to the victim. Motivations for using an intermediary node might be anonymity of the attacker as wells as amplification of the traffic. Typically, when the intermediary node is a DNSSEC server, the attacker sends a DNSSEC query and the victim is likely to receive a DNSSEC response. This section analyzes how the different components may be involved in a reflection attack.  <xref target="sec-reflection-hidden-primary"/> considers the Hidden Primary, <xref target="sec-reflection-public-auth-name-server-set"/> the Public Authoritative Name Server Set, and <xref target="sec-reflection-public-primary"/> the Public Authoritative Primary.</t>

         <section title="Reflection Attack involving the Hidden Primary" anchor="sec-reflection-hidden-primary">

         <t>With the current architecture, the Hidden Primary is only expected to receive DNS queries of type SOA, AXFR or IXFR. This section analyzes how these DNS queries may be used by an attacker to perform a reflection attack.</t>

         <t> At first, DNS queries of type AXFR and IXFR uses TCP and as such a less subject to reflection attacks. This makes SOA query the only remaining vector of attacks for reflection based on UDP.</t>

        <t>Firstly, SOA queries are not associated with a large amplification factor compared to queries of type "ANY" or to query of non existing FQDNs. This reduces the probability a DNS query of type SOA is involved in a DDoS attack. In addition, SOA queries are expected to follow a very specific pattern which makes rate limiting techniques an efficient way to limit such attacks, with a limited impact on the naming service of the home network.</t>

       <t>This paragraph analyzes how a Hidden Primary could mitigate a flood of SOA requests. Motivations for such flood might be a reflection attack, but could be also an attack performed against the Hidden Primary for resource exhaustion.  At first, the Hidden Primary only expects traffic from the Public Authoritative Name Server Set that is its associated secondary. Even though secondary servers may be renumbered, as exposed in <xref target="sec-renumbering"/>, the Hidden Primary is likely to perform a DNSSEC resolution and find out the associated secondary's IP addresses in use. As a result, the Hidden Primary is likely to limit the origin of its incoming traffic based on the origin IP address.</t>

<t>With filtering rules base on the IP address, SOA flooding attacks are limited to forged packets with the IP address of the secondary server. In other words, the only victims are the Hidden Primary itself or the secondary. There is a need for the Hidden Primary to limit that flood to limit the impact of the reflection attack on the secondary, and to limit the resource needed to carry on the traffic by the CPE hosting the Hidden Primary. On the other hand, mitigation should be appropriately done, as to limit the impact on the legitimate SOA sent by the secondary.</t> 

<t>The main reason for the Public Authoritative Name Server Set to send a SOA query is to update the SOA RRset after the TTL expires, to check serial number upon the receipt of a NOTIFY query from the Hidden Primary or to re-send the SOA request when the response has not been received. 
When a flood of SOA queries is received by the Hidden Primary, the Hidden Primary can assume it is involved in an attack.
There are a few legitimate time slot the secondary is expected to send a SOA query. These times may be specific times like T_NOTIFY the emission of a NOTIFY query, T_SOA + 2/3 TTL, T_SOA + TTL, T_SOA + T_REFRESH  where TTL designates the SOA TTL value, T_REFRESH the refresh time defined in the SOA RRset, and T_SOA the last time the SOA has been queried. Outside a few minutes following these specific time, the probability the CPE discard a legitimate SOA query is very low.  
Within these time slots, the probability the secondary may have its legitimate query rejected is higher. If a legitimate SOA is discarded, the secondary will re-send SOA query every "retry time" second until "expire time" seconds occurs, where "retry time" and "expire time" have been defined in the SOA.</t>
   
<t>As a result, it is recommended to set rate limiting policies to preserve the CPE resource. If a flood lasts more than the expired time defined by the SOA, it is recommended to re-initiate a synchronization between the Hidden Primary and the secondaries.</t>

        </section>

        <section title="Reflection Attacks involving the Public Authoritative Name Server Set" anchor="sec-reflection-public-auth-name-server-set">

        <t>The Public Authoritative Name Server Set acts as a secondary toward the Hidden Primary. The secondary expects to receive NOTIFY query, SOA responses, AXFR and IXFR responses from the Hidden Primary.</t>

        <t>Sending NOTIFY query to the secondary generates a NOTIFY response as well as an SOA query to the Hidden Primary. As mentioned in <xref target="RFC1996"/>, this is a "known benign denial of service attack".  As a result, the Public Authoritative Name Server Set should enforce rate limiting on the SOA queries and NOTIFY responses that are sent to the Hidden Primary. Most likely, when the secondary is flooded with valid and signed NOTIFY queries it is under a replay attack which is discussed in <xref target="sec-replay-attack"/>. The key thing here is that the secondary is likely to be designed to address much traffic than the Hidden Primary hosted on a CPE.</t>
         
         <t>This paragraph details how the secondary may limit the NOTIFY queries. Because the Hidden Primary may be renumbered, the secondary may not proceed to IP filtering based on the IP address. In addition, a given secondary may be shared among multiple Hidden Primaries which makes filtering rules based on IP harder to set. At last, time at which a NOTIFY is sent by the Hidden Primary is not predictable. However, a flood of NOTIFY may be easily detected as a NOTIFY for a given DNS Homenet Zone is expected to have a very limited number of different IP addresses even though renumbering occurs. As a result, the secondary, can rate limit incoming NOTIFY queries.</t>

         <t>It is recommended the Hidden Primary sends NOTIFY as long as the zone has not been updated by the secondary. Multiple SOA queries may indicate the secondary is under attack.</t>   
   
       </section>

        <section title="Reflection Attacks involving the Public Authoritative Primary" anchor="sec-reflection-public-primary">

          <t>The Public Authoritative Primary implication of reflection attacks is similar as any public authoritative server. These is not specific to the architecture described in this document, and thus considered as out of scope.</t>  

           <t>In fact, one of the motivation of the architecture described in this document was to expose the Public Authoritative Primary to attacks instead of the CPE.</t>
        </section>
        </section>

        <section title="Flooding Attack" anchor="sec-flooding-attack">
        <t>The purpose of flooding attacks is mostly resource exhaustion where the resource can be bandwidth or CPU for example. </t>
        
        <t>One of the goal of the architecture described in the document is to limit the surface of attack for the CPE. This is done, by outsourcing the DNS service to the Public Authoritative Primaries. By doing so, the CPE limits its DNS interactions between the Hidden Primary and the Public Authoritative Name Server Set. This limits the number of entity the CPE interacts with as well as the scope of DNS exchanges - basically NOTIFY, SOA, AXFR, IXFR.</t>

        <t>The use of an authenticated channel with SIG(0) or TSIG between the CPE and the Public Authoritative Name Server Set, enables to detect illegitimate DNS queries, and take appropriated actions - like dropping the queries. If signatures are validated, then most likely, the CPE is under a replay attack, as detailed in <xref target="sec-replay-attack"/></t>   
        <t>In order to limit the resource required for authentication, it is recommended to use TSIG that uses symmetric cryptography over SIG(0) that uses asymmetric cryptography.</t>
        </section>


        <section title="Replay Attack" anchor="sec-replay-attack">

        <t>Replay attacks consist in sending a message that has already been sent. As the Hidden Primary and the Public Authoritative Name Server Set use an authenticated channel, replay attacks are mostly expected to used over forged DNS queries in order to provide valid traffic.</t>

        <t>On an attacker points of view, using a correctly authenticated DNS query, may not be detected as an attack, and thus may generate the corresponding response. Generating and sending a response consumes more resources then dropping the query and thus could be used for resource exhaustion attacks. In addition, as the authentication is performed at the DNS layer, the IP address could be impersonated in order to perform a reflection attack.</t>

        <t><xref target="sec-reflection-attack"/> details how to mitigate reflection attacks and <xref target="sec-flooding-attack"/> details how to mitigate resource exhaustion. Both section assumes a context of DoS with a flood of DNS queries. This section address replay attack as a way to limit the surface of these attacks. </t>

        <t> As SIG(0) and TSIG uses inception and expiration time, the time frame for replay attack is limited. SIG(0) and TSIG recommends a fudge value of 5 minutes. This value has been set as a compromise between loose time synchronization of the devices and short live time for the message. As a result, better time synchronization policies could reduce the time window of the attack.</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; Andrew Sullivan, Mark Andrew, Ted Lemon, Mikael Abrahamson, Michael Richardson and Ray Bellis for their feed backs on handling different views as well as clarifying the impact of outsourcing the zone signing operation outside the CPE; Ray Hunter, Mark Andrew and Peter Koch for clarifying the renumbering.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      &rfc1034;
      &rfc1035;
      &rfc1995;
      &rfc1996;
      &rfc2119;
      &rfc2136;
      &rfc2142;
      <!--&rfc2181; -->
      &rfc2308;
      &rfc2845;
      &rfc2930;
      &rfc2931;
      &rfc4301;
      &rfc4034;
      &rfc5155;
      &rfc5246;
      &rfc5936;
      &rfc7296;
      &rfc6347;
      &rfc6644;
      &rfc6762;
      &rfc6763;
      &rfc4555;
      &rfc4960;
    </references>
    <references title="Informational References">
        &rfc1033;
        &rfc4192;
    <!--
        &RFC7368;
        &I-D.sury-dnsext-cname-dname;
    -->
        &rfc7010; 
        &rfc7344;
        &rfc7368; 
        &I-D.ietf-dnssd-requirements; 
        &I-D.ietf-homenet-naming-architecture-dhc-options; 
        &I-D.howard-dnsop-ip6rdns;
    </references>
    <section title="Document Change Log">
      <t>[RFC Editor: This section is to be removed before publication]</t>
      <t>-06:</t>
      <t>Ray Hunter is added in acknowledgment.</t>
      <t>Adding Renumbering section with comments from Dallas meeting</t>
      <t>Replacing Master / Primary - Slave / Secondary </t>
      <t>Security Consideration has been updated with Reflection attacks, flooding attacks, and replay attacks.</t>
      <t>-05:</t>
      <t>*Clarifying on handling different views:
      <list hangIndent="6" style="hanging">
          <t hangText="- 1: "> How the CPE may be involved in the resolution and responds without necessarily requesting the Public Primaries (and eventually the Hidden Primary)</t>
          <t hangText="- 2: "> How to handle local scope resolution that is link-local, site-local and NAT IP addresses as well as Private domain names that the administrator does not want to publish outside the home network.</t>
      </list>
      </t>
      <t>Adding a Privacy Considerations Section</t>
      <t>Clarification on pro/cons outsourcing zone-signing</t> 
      <t>Documenting how to handle reverse zones</t>
      <t>Adding reference to RFC 2308</t> 
      <t>-04:</t>
      <t>*Clarifications on zone signing</t>
      <t>*Rewording</t>
      <t>*Adding section on different views</t>
      <t>*architecture clarifications</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 Primary(ies)". "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 Primary / Slave functions with CPE as Hidden Primary/Homenet
      Server.</t>

      <t>* For next version, address functions of MDNS within Homenet Lan and
      publishing details northbound via Hidden Primary.</t>

      <t>-00: First version published.</t>
    </section>
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-23 16:45:04