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-20262026-04-24 01:37:17