idnits 2.17.1 draft-ietf-homenet-front-end-naming-delegation-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (September 23, 2015) is 3131 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'XXX' is mentioned on line 563, but not defined ** Obsolete normative reference: RFC 2845 (Obsoleted by RFC 8945) ** Obsolete normative reference: RFC 4960 (Obsoleted by RFC 9260) ** Obsolete normative reference: RFC 5246 (Obsoleted by RFC 8446) ** Obsolete normative reference: RFC 6347 (Obsoleted by RFC 9147) == Outdated reference: A later version (-24) exists of draft-ietf-homenet-naming-architecture-dhc-options-02 Summary: 4 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 HOMENET D. Migault (Ed) 3 Internet-Draft Ericsson 4 Intended status: Standards Track R. Weber 5 Expires: March 26, 2016 Nominum 6 R. Hunter 7 Globis Consulting BV 8 C. Griffiths 10 W. Cloetens 11 SoftAtHome 12 September 23, 2015 14 Outsourcing Home Network Authoritative Naming Service 15 draft-ietf-homenet-front-end-naming-delegation-04.txt 17 Abstract 19 RFC7368 'IPv6 Home Networking Architecture Principles' section 3.7 20 describes architecture principles related to naming and service 21 discovery in residential home networks. 23 Customer Edge Routers and other Customer Premises Equipment (CPEs) 24 are designed to provide IP connectivity to home networks. Most CPEs 25 assign IP addresses to the nodes of the home network which makes them 26 good candidates for hosting the naming service. IPv6 provides global 27 connectivity, and nodes from the home network will be reachable from 28 the global Internet. As a result, the naming service is expected to 29 be exposed on the Internet. 31 However, CPEs have not been designed to host such a naming service 32 exposed on the Internet. Running a naming service visible on the 33 Internet may expose the CPEs to resource exhaustion and other 34 attacks, which could make the home network unreachable, and most 35 probably would also affect the internal communications of the home 36 network. 38 In addition, regular end users may not understand, or possess the 39 necessary skills to be able to perform, DNSSEC management and 40 configuration. Misconfiguration may also result in naming service 41 disruption, thus these end users may prefer to rely on third party 42 name service providers. 44 This document describes a homenet naming architecture, where the CPEs 45 manage the DNS zones associated with its own home network, and 46 outsource elements of the naming service (possibly including DNSSEC 47 management) to a third party running on the Internet. 49 Status of This Memo 51 This Internet-Draft is submitted in full conformance with the 52 provisions of BCP 78 and BCP 79. 54 Internet-Drafts are working documents of the Internet Engineering 55 Task Force (IETF). Note that other groups may also distribute 56 working documents as Internet-Drafts. The list of current Internet- 57 Drafts is at http://datatracker.ietf.org/drafts/current/. 59 Internet-Drafts are draft documents valid for a maximum of six months 60 and may be updated, replaced, or obsoleted by other documents at any 61 time. It is inappropriate to use Internet-Drafts as reference 62 material or to cite them other than as "work in progress." 64 This Internet-Draft will expire on March 26, 2016. 66 Copyright Notice 68 Copyright (c) 2015 IETF Trust and the persons identified as the 69 document authors. All rights reserved. 71 This document is subject to BCP 78 and the IETF Trust's Legal 72 Provisions Relating to IETF Documents 73 (http://trustee.ietf.org/license-info) in effect on the date of 74 publication of this document. Please review these documents 75 carefully, as they describe your rights and restrictions with respect 76 to this document. Code Components extracted from this document must 77 include Simplified BSD License text as described in Section 4.e of 78 the Trust Legal Provisions and are provided without warranty as 79 described in the Simplified BSD License. 81 Table of Contents 83 1. Requirements notation . . . . . . . . . . . . . . . . . . . . 3 84 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 85 2.1. Scope of the Document . . . . . . . . . . . . . . . . . . 4 86 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 87 4. Architecture Description . . . . . . . . . . . . . . . . . . 7 88 4.1. Architecture Overview . . . . . . . . . . . . . . . . . . 7 89 4.2. Example: Homenet Zone . . . . . . . . . . . . . . . . . . 9 90 4.3. Example: CPE necessary parameters for outsourcing . . . . 11 91 5. Synchronization between CPE and the Synchronization Server . 12 92 5.1. Synchronization with a Hidden Primary . . . . . . . . . . 12 93 5.2. Securing Synchronization . . . . . . . . . . . . . . . . 13 94 5.3. CPE Security Policies . . . . . . . . . . . . . . . . . . 15 95 6. DNSSEC compliant Homenet Architecture . . . . . . . . . . . . 15 96 6.1. Zone Signing . . . . . . . . . . . . . . . . . . . . . . 15 97 6.2. Secure Delegation . . . . . . . . . . . . . . . . . . . . 17 98 7. Handling Different Views . . . . . . . . . . . . . . . . . . 18 99 7.1. Misleading Reasons for Local Scope DNS Zone . . . . . . . 18 100 7.2. Consequences . . . . . . . . . . . . . . . . . . . . . . 19 101 7.3. Guidance and Recommendations . . . . . . . . . . . . . . 19 102 8. Homenet Reverse Zone . . . . . . . . . . . . . . . . . . . . 20 103 9. Renumbering . . . . . . . . . . . . . . . . . . . . . . . . . 20 104 9.1. Hidden Primary . . . . . . . . . . . . . . . . . . . . . 21 105 9.2. Synchronization Server . . . . . . . . . . . . . . . . . 22 106 10. Privacy Considerations . . . . . . . . . . . . . . . . . . . 23 107 11. Security Considerations . . . . . . . . . . . . . . . . . . . 23 108 11.1. Names are less secure than IP addresses . . . . . . . . 23 109 11.2. Names are less volatile than IP addresses . . . . . . . 24 110 11.3. DNS Reflection Attacks . . . . . . . . . . . . . . . . . 24 111 11.3.1. Reflection Attack involving the Hidden Primary . . . 24 112 11.3.2. Reflection Attacks involving the Synchronization 113 Server . . . . . . . . . . . . . . . . . . . . . . . 26 114 11.3.3. Reflection Attacks involving the Public 115 Authoritative Servers . . . . . . . . . . . . . . . 27 116 11.4. Flooding Attack . . . . . . . . . . . . . . . . . . . . 27 117 11.5. Replay Attack . . . . . . . . . . . . . . . . . . . . . 27 118 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 119 13. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . 28 120 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 28 121 14.1. Normative References . . . . . . . . . . . . . . . . . . 28 122 14.2. Informational References . . . . . . . . . . . . . . . . 31 123 Appendix A. Document Change Log . . . . . . . . . . . . . . . . 32 124 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 34 126 1. Requirements notation 128 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 129 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 130 document are to be interpreted as described in [RFC2119]. 132 2. Introduction 134 IPv6 provides global end to end IP reachability. End users prefer to 135 use names instead of long and complex IPv6 addresses when accessing 136 services hosted in the home network. 138 Customer Edge Routers and other Customer Premises Equipment (CPEs) 139 are already providing IPv6 connectivity to the home network, and 140 generally provide IPv6 addresses or prefixes to the nodes of the home 141 network. This makes CPEs good candidates to manage the binding 142 between names and IP addresses of nodes. In addition, [RFC7368] 143 recommends that home networks be resilient to connectivity disruption 144 from the ISP. This could be achieved by a dedicated device inside 145 the home network that builds the Homenet Zone, thus providing 146 bindings between names and IP addresses. All this makes the CPE the 147 natural candidate for populating the Homenet zone. 149 CPEs are usually low powered devices designed for the home network, 150 but not for terminating heavy traffic. As a result, hosting an 151 authoritative DNS service on the Internet may expose the home network 152 to resource exhaustion and other attacks. This may isolate the home 153 network from the Internet and also impact the services hosted by the 154 CPEs, thus affecting overall home network communication. 156 In order to avoid resource exhaustion and other attacks, this 157 document describes an architecture that outsources the authoritative 158 naming service of the home network. More specifically, the Homenet 159 Zone built by the CPE is outsourced to an Outsourcing Infrastructure. 160 The Outsourcing Infrastructure publishes the corresponding Public 161 Homenet Zone on the Internet. Section 4.1 describes the 162 architecture. In order to keep the Public Homenet Zone up-to-date 163 Section 5 describes how the Homenet Zone and the Public Homenet Zone 164 can be synchronized. The proposed architecture aims at deploying 165 DNSSEC, and the Public Homenet Zone is expected to be signed with a 166 secure delegation. The zone signing and secure delegation may be 167 performed either by the CPE or by the Outsourcing Infrastructure. 168 Section 6 discusses these two alternatives. Section 7 discusses the 169 consequences of publishing multiple representations of the same zone 170 also commonly designated as views. This section provides guidance to 171 limit the risks associated with multiple views. Section 8 discusses 172 management of the reverse zone. Section 9 discusses how renumbering 173 should be handled. Finally, Section 10 and Section 11 respectively 174 discuss privacy and security considerations when outsourcing the 175 Homenet Zone. 177 2.1. Scope of the Document 179 The scope of the document is to describe an architecture that 180 outsources the authoritative naming service of the home network and 181 more specifically the interactions between the home network and the 182 Outsourcing Infrastructure. Considerations or descriptions on inner 183 communications or organization of the home network are provided for 184 completeness and for clarifying the interface between the home 185 network and the Outsourcing Infrastructure 187 For sake of simplicity, this document designates by "CPE" that 188 connects the home network with the Outsourcing Infrastructure - and 189 so performs most of the operations for outsourcing the home network 190 naming architecture. On the other hand, CPE are usually associated 191 to home router. These two functions - e.g routing and naming - are 192 not correlated and could be split in multiple devices. More 193 specifically, this document does not consider the home network has a 194 single CPE nor a single ISP. 196 In fact this document considers the CPE as a set of functionalities 197 that can be collocated on a single device or split between multiple 198 devices. The split of these functions between different devices as 199 well as their potential associated communications is considered as 200 implementation dependent and out of scope of the architecture. The 201 only limitation this architecture considers is that the Hidden 202 Primary be located in a single place as long as the distributed 203 Primary architecture has not been defined. As a result, if there are 204 multiple candidates for hosting the Hidden Primary, the home network 205 should select a single device. 207 3. Terminology 209 - Customer Premises Equipment: (CPE) is a router providing 210 connectivity to the home network. It might be configured and 211 managed by the end user. In this document, the CPE might also 212 host services such as DHCPv6. This device might be provided by 213 the ISP. A home network may have multiple CPE, and each of 214 them may be connected to an Internet Service Provider. In this 215 document, the CPE represents the set of functions involved in 216 the naming architecture. These functions may be collocated on 217 a single device, or distributed between multiple devices. How 218 these functions communicate is out of the scope of this 219 document and is left for implementation. See Section 2.1 for 220 more details. 222 - Registered Homenet Domain: is the Domain Name associated to the 223 home network. 225 - Homenet Zone: is the DNS zone associated with the home network. 226 It is designated by its Registered Homenet Domain. This zone 227 is built by the CPE and contains the bindings between names and 228 IP addresses of the nodes in the home network. The CPE 229 synchronizes the Homenet Zone with the Synchronization Server 230 via a hidden primary / secondary architecture. The Outsourcing 231 Infrastructure may process the Homenet Zone - for example 232 providing DNSSEC signing - to generate the Public Homenet Zone. 233 This Public Homenet Zone is then transmitted to the Public 234 Authoritative Server(s) that publish it on the Internet. 236 - Public Homenet Zone: is the public version of the Homenet Zone. 237 It is expected to be signed with DNSSEC. It is hosted by the 238 Public Authoritative Server(s), which are authoritative for 239 this zone. The Public Homenet Zone and the Homenet Zone might 240 be different. For example some names might not become 241 reachable from the Internet, and thus not be hosted in the 242 Public Homenet Zone. Another example of difference may also 243 occur when the Public Homenet Zone is signed whereas the 244 Homenet Zone is not signed. 246 - Outsourcing Infrastructure: is the combination of the 247 Synchronization Server and the Public Authoritative Server(s). 249 - Public Authoritative Servers: are the authoritative name servers 250 hosting the Public Homenet Zone. Name resolution requests for 251 the Homenet Domain are sent to these servers. For resiliency 252 the Public Homenet Zone SHOULD be hosted on multiple servers. 254 - Synchronization Server: is the server with which the CPE 255 synchronizes the Homenet Zone. The Synchronization Server is 256 configured as a secondary and the CPE acts as primary. There 257 MAY be multiple Synchronization Servers, but the text assumes a 258 single server. In addition, the text assumes the 259 Synchronization Server is a separate entity. This is not a 260 requirement, and when the CPE signs the zone, the 261 synchronization function might also be operated by the Public 262 Authoritative Servers. 264 - Homenet Reverse Zone: The reverse zone file associated with the 265 Homenet Zone. 267 - Reverse Public Authoritative Servers: are the authoritative name 268 server(s) hosting the Public Homenet Reverse Zone. Queries for 269 reverse resolution of the Homenet Domain are sent to this 270 server. Similarly to Public Authoritative Servers, for 271 resiliency, the Homenet Reverse Zone SHOULD be hosted on 272 multiple servers. 274 - Reverse Synchronization Server: is the server with which the CPE 275 synchronizes the Homenet Reverse Zone. It is configured as a 276 secondary and the CPE acts as primary. There MAY be multiple 277 Reverse Synchronization Servers, but the text assumes a single 278 server. In addition, the text assumes the Reverse 279 Synchronization Server is a separate entity. This is not a 280 requirement, and when the CPE signs the zone, the 281 synchronization function might also be operated by the Reverse 282 Public Authoritative Servers. 284 - Hidden Primary: designates the primary server of the CPE, that 285 synchronizes the Homenet Zone with the Synchronization Server. 286 A primary / secondary architecture is used between the CPE and 287 the Synchronization Server. The hidden primary is not expected 288 to serve end user queries for the Homenet Zone as a regular 289 primary server would. The hidden primary is only known to its 290 associated Synchronization Server. 292 4. Architecture Description 294 This section describes the architecture for outsourcing the 295 authoritative naming service from the CPE to the Outsourcing 296 Infrastructure. Section 4.1 describes the architecture, Section 4.2 297 and Section 4.3 illustrates this architecture and shows how the 298 Homenet Zone should be built by the CPE. It also lists the necessary 299 parameters the CPE needs to be able to outsource the authoritative 300 naming service. These two sections are informational and non- 301 normative. 303 4.1. Architecture Overview 305 Figure 1 provides an overview of the architecture. 307 The home network is designated by the Registered Homenet Domain Name 308 -- example.com in Figure 1. The CPE builds the Homenet Zone 309 associated with the home network. How the Homenet Zone is built is 310 out of the scope of this document. The CPE may host or interact with 311 multiple services to determine name-to-address mappings, such as a 312 web GUI, DHCP [RFC6644] or mDNS [RFC6762]. These services may 313 coexist and may be used to populate the Homenet Zone. This document 314 assumes the Homenet Zone has been populated with domain names that 315 are intended to be publicly published and that are publicly 316 reachable. More specifically, names associated with services or 317 devices that are not expected to be reachable from outside the home 318 network or names bound to non-globally reachable IP addresses MUST 319 NOT be part of the Homenet Zone. 321 Once the Homenet Zone has been built, the CPE does not host an 322 authoritative naming service, but instead outsources it to the 323 Outsourcing Infrastructure. The Outsourcing Infrastructure takes the 324 Homenet Zone as an input and publishes the Public Homenet Zone. If 325 the CPE does not sign the Homenet Zone, the Outsourcing 326 Infrastructure may instead sign it on behalf of the CPE. Figure 1 327 provides a more detailed description of the Outsourcing 328 Infrastructure, but overall, it is expected that the CPE provides the 329 Homenet Zone. Then the Public Homenet Zone is derived from the 330 Homenet Zone and published on the Internet. 332 As a result, DNS queries from the DNS resolvers on the Internet are 333 answered by the Outsourcing Infrastructure and do not reach the CPE. 334 Figure 1 illustrates the case of the resolution of node1.example.com. 336 home network +-------------------+ Internet 337 | | 338 | CPE | 339 | | +-----------------------+ 340 +-------+ |+-----------------+| | Public Authoritative | 341 | | || Homenet Zone || | Server(s) | 342 | node1 | || || |+---------------------+| 343 | | || || || Public Homenet Zone || 344 +-------+ || Homenet Domain ||=========|| || 345 || Name || ^ || (example.com) || 346 node1.\ || (example.com) || | |+---------------------+| 347 example.com |+-----------------+| | +-----------------------+ 348 +-------------------+ | ^ | 349 Synchronization | | 350 | | 351 DNSSEC resolution for node1.example.com | v 352 +-----------------------+ 353 | | 354 | DNSSEC Resolver | 355 | | 356 +-----------------------+ 358 Figure 1: Homenet Naming Architecture Description 360 The Outsourcing Infrastructure is described in Figure 2. The 361 Synchronization Server receives the Homenet Zone as an input. The 362 received zone may be transformed to output the Public Homenet Zone. 363 Various operations may be performed here, however this document only 364 considers zone signing as a potential operation. This should occur 365 only when the CPE outsources this operation to the Synchronization 366 Server. On the other hand, if the CPE signs the Homenet Zone itself, 367 the zone would be collected by the Synchronization Server and 368 directly transferred to the Public Authoritative Server(s). These 369 policies are discussed and detailed in Section 6 and Section 7. 371 Internet 373 +------------------------------------------------------+ 374 | Outsourcing Infrastructure | 375 +------------------------------------------------------+ 377 +----------------------+ +----------------------+ 378 | | | | 379 | Synchronization | | Public Authoritative | 380 | Server | | Server(s) | 381 | | | | 382 | +------------------+ | X |+--------------------+| 383 | | Homenet Zone | | ^ || Public Homenet Zone|| 384 =========>| | | | || || 385 ^ | | | | | || || 386 | | | (example.com) | | | || (example.com) || 387 | | +------------------+ | | |+--------------------+| 388 | +----------------------+ | +----------------------+ 389 | Homenet to Public Zone 390 Synchronization transformation 391 from the CPE 393 Figure 2: Outsourcing Infrastructure Description 395 4.2. Example: Homenet Zone 397 This section is not normative and intends to illustrate how the CPE 398 builds the Homenet Zone. 400 As depicted in Figure 1 and Figure 2, the Public Homenet Zone is 401 hosted on the Public Authoritative Server(s), whereas the Homenet 402 Zone is hosted on the CPE. Motivations for keeping these two zones 403 identical are detailed in Section 7, and this section considers that 404 the CPE builds the zone that will be effectively published on the 405 Public Authoritative Server(s). In other words "Homenet to Public 406 Zone transformation" is the identity also commonly designated as "no 407 operation" (NOP). 409 In that case, the Homenet Zone should configure its Name Server RRset 410 (NS) and Start of Authority (SOA) with the values associated with the 411 Public Authoritative Server(s). This is illustrated in Figure 3. 412 public.primary.example.net is the FQDN of the Public Authoritative 413 Server(s), and IP1, IP2, IP3, IP4 are the associated IP addresses. 414 Then the CPE should add the additional new nodes that enter the home 415 network, remove those that should be removed, and sign the Homenet 416 Zone. 418 $ORIGIN example.com 419 $TTL 1h 421 @ IN SOA public.primary.example.net 422 hostmaster.example.com. ( 423 2013120710 ; serial number of this zone file 424 1d ; secondary refresh 425 2h ; secondary retry time in case of a problem 426 4w ; secondary expiration time 427 1h ; maximum caching time in case of failed 428 ; lookups 429 ) 431 @ NS public.authoritative.servers.example.net 433 public.primary.example.net A @IP1 434 public.primary.example.net A @IP2 435 public.primary.example.net AAAA @IP3 436 public.primary.example.net AAAA @IP4 438 Figure 3: Homenet Zone 440 The SOA RRset is defined in [RFC1033], [RFC1035] and [RFC2308]. This 441 SOA is specific, as it is used for the synchronization between the 442 Hidden Primary and the Synchronization Server and published on the 443 DNS Public Authoritative Server(s).. 445 - MNAME: indicates the primary. In our case the zone is published 446 on the Public Authoritative Server(s), and its name MUST be 447 included. If multiple Public Authoritative Server(s) are 448 involved, one of them MUST be chosen. More specifically, the 449 CPE MUST NOT include the name of the Hidden Primary. 451 - RNAME: indicates the email address to reach the administrator. 452 [RFC2142] recommends using hostmaster@domain and replacing the 453 '@' sign by '.'. 455 - REFRESH and RETRY: indicate respectively in seconds how often 456 secondaries need to check the primary, and the time between two 457 refresh when a refresh has failed. Default values indicated by 458 [RFC1033] are 3600 (1 hour) for refresh and 600 (10 minutes) 459 for retry. This value might be too long for highly dynamic 460 content. However, the Public Authoritative Server(s) and the 461 CPE are expected to implement NOTIFY [RFC1996]. So whilst 462 shorter refresh timers might increase the bandwidth usage for 463 secondaries hosting large number of zones, it will have little 464 practical impact on the elapsed time required to achieve 465 synchronization between the Outsourcing Infrastructure and the 466 Hidden Master. As a result, the default values are acceptable. 468 EXPIRE: is the upper limit data SHOULD be kept in absence of 469 refresh. The default value indicated by [RFC1033] is 3600000 470 (approx. 42 days). In home network architectures, the CPE 471 provides both the DNS synchronization and the access to the 472 home network. This device may be plugged and unplugged by the 473 end user without notification, thus we recommend a long expiry 474 timer. 476 MINIMUM: indicates the minimum TTL. The default value indicated by 477 [RFC1033] is 86400 (1 day). For home network, this value MAY 478 be reduced, and 3600 (1 hour) seems more appropriate. 480 4.3. Example: CPE necessary parameters for outsourcing 482 This section specifies the various parameters required by the CPE to 483 configure the naming architecture of this document. This section is 484 informational, and is intended to clarify the information handled by 485 the CPE and the various settings to be done. 487 Synchronization Server may be configured with the following 488 parameters. These parameters are necessary to establish a secure 489 channel between the CPE and the Synchronization Server as well as to 490 specify the DNS zone that is in the scope of the communication: 492 - Synchronization Server: The associated FQDNs or IP addresses of 493 the Synchronization Server. IP addresses are optional and the 494 FQDN is sufficient. To secure the binding name and IP 495 addresses, a DNSSEC exchange is required. Otherwise, the IP 496 addresses should be entered manually. 498 - Authentication Method: How the CPE authenticates itself to the 499 Synchronization Server. This MAY depend on the implementation 500 but this should cover at least IPsec, DTLS and TSIG 502 - Authentication data: Associated Data. PSK only requires a single 503 argument. If other authentication mechanisms based on 504 certificates are used, then CPE private keys, certificates and 505 certification authority should be specified. 507 - Public Authoritative Server(s): The FQDN or IP addresses of the 508 Public Authoritative Server(s). It MAY correspond to the data 509 that will be set in the NS RRsets and SOA of the Homenet Zone. 510 IP addresses are optional and the FQDN is sufficient. To 511 secure the binding between name and IP addresses, a DNSSEC 512 exchange is required. Otherwise, the IP addresses should be 513 entered manually. 515 - Registered Homenet Domain: The domain name used to establish the 516 secure channel. This name is used by the Synchronization 517 Server and the CPE for the primary / secondary configuration as 518 well as to index the NOTIFY queries of the CPE when the CPE has 519 been renumbered. 521 Setting the Homenet Zone requires the following information. 523 - Registered Homenet Domain: The Domain Name of the zone. Multiple 524 Registered Homenet Domains may be provided. This will generate 525 the creation of multiple Public Homenet Zones. 527 - Public Authoritative Server(s): The Public Authoritative 528 Server(s) associated with the Registered Homenet Domain. 529 Multiple Public Authoritative Server(s) may be provided. 531 5. Synchronization between CPE and the Synchronization Server 533 The Homenet Reverse Zone and the Homenet Zone MAY be updated either 534 with DNS UPDATE [RFC2136] or using a primary / secondary 535 synchronization. The primary / secondary mechanism is preferred as 536 it scales better and avoids DoS attacks: First the primary notifies 537 the secondary that the zone must be updated and leaves the secondary 538 to proceed with the update when possible. Then, a NOTIFY message is 539 sent by the primary, which is a small packet that is less likely to 540 load the secondary. Finally, the AXFR query performed by the 541 secondary is a small packet sent over TCP (section 4.2 [RFC5936]), 542 which mitigates reflection attacks using a forged NOTIFY. On the 543 other hand, DNS UPDATE (which can be transported over UDP), requires 544 more processing than a NOTIFY, and does not allow the server to 545 perform asynchronous updates. 547 This document RECOMMENDS use of a primary / secondary mechanism 548 instead of the use of DNS UPDATE. This section details the primary / 549 secondary mechanism. 551 5.1. Synchronization with a Hidden Primary 553 Uploading and dynamically updating the zone file on the 554 Synchronization Server can be seen as zone provisioning between the 555 CPE (Hidden Primary) and the Synchronization Server (Secondary 556 Server). This can be handled either in band or out of band. 558 Note that there is no standard way to distribute a DNS primary 559 between multiple devices. As a result, if multiple CPEs are 560 candidate for hosting the Hidden Primary, some specific mechanisms 561 should be designed so the home network only selects a single CPE for 562 the Hidden Primary. Selection mechanisms based on HNCP are good 563 candidates [XXX]. 565 The Synchronization Server is configured as a secondary for the 566 Homenet Domain Name. This secondary configuration has been 567 previously agreed between the end user and the provider of the 568 Synchronization Server. In order to set the primary / secondary 569 architecture, the CPE acts as a Hidden Primary Server, which is a 570 regular authoritative DNS Server listening on the WAN interface. 572 The Hidden Primary Server SHOULD accept SOA [RFC1033], AXFR 573 [RFC1034], and IXFR [RFC1995] queries from its configured secondary 574 DNS server(s). The Hidden Primary Server SHOULD send NOTIFY messages 575 [RFC1996] in order to update Public DNS server zones as updates 576 occur. Because, the Homenet Zones are likely to be small, the CPE 577 MUST implement AXFR and SHOULD implement IXFR. 579 Hidden Primary Server differs from a regular authoritative server for 580 the home network by: 582 - Interface Binding: the Hidden Primary Server listens on the WAN 583 Interface, whereas a regular authoritative server for the home 584 network would listen on the home network interface. 586 - Limited exchanges: the purpose of the Hidden Primary Server is to 587 synchronize with the Synchronization Server, not to serve any 588 zones to end users. As a result, exchanges are performed with 589 specific nodes (the Synchronization Server). Further, exchange 590 types are limited. The only legitimate exchanges are: NOTIFY 591 initiated by the Hidden Primary and IXFR or AXFR exchanges 592 initiated by the Synchronization Server. On the other hand, 593 regular authoritative servers would respond to any hosts, and 594 any DNS query would be processed. The CPE SHOULD filter IXFR/ 595 AXFR traffic and drop traffic not initiated by the 596 Synchronization Server. The CPE MUST listen for DNS on TCP and 597 UDP and MUST at least allow SOA lookups of the Homenet Zone. 599 5.2. Securing Synchronization 601 Exchange between the Synchronization Server and the CPE MUST be 602 secured, at least for integrity protection and for authentication. 604 TSIG [RFC2845] or SIG(0) [RFC2931] MAY be used to secure the DNS 605 communications between the CPE and the Synchronization Server. TSIG 606 uses a symmetric key which can be managed by TKEY [RFC2930]. 607 Management of the key involved in SIG(0) is performed through zone 608 updates. How keys are rolled over with SIG(0) is out-of-scope of 609 this document. The advantage of these mechanisms is that they are 610 only associated with the DNS application. Not relying on shared 611 libraries eases testing and integration. On the other hand, using 612 TSIG, TKEY or SIG(0) requires these mechanisms to be implemented on 613 the CPE, which adds code and complexity. Another disadvantage is 614 that TKEY does not provide authentication mechanisms. 616 Protocols like TLS [RFC5246] / DTLS [RFC6347] MAY be used to secure 617 the transactions between the Synchronization Server and the CPE. The 618 advantage of TLS/DTLS is that this technology is widely deployed, and 619 most of the devices already embed TLS/DTLS libraries, possibly also 620 taking advantage of hardware acceleration. Further, TLS/DTLS 621 provides authentication facilities and can use certificates to 622 authenticate the Synchronization Server and the CPE. On the other 623 hand, using TLS/DTLS requires implementing DNS exchanges over TLS/ 624 DTLS, as well as a new service port. This document therefore does 625 NOT RECOMMEND this option. 627 IPsec [RFC4301] IKEv2 [RFC7296] MAY also be used to secure 628 transactions between the CPE and the Synchronization Server. 629 Similarly to TLS/DTLS, most CPEs already embed an IPsec stack, and 630 IKEv2 supports multiple authentication mechanisms via the EAP 631 framework. In addition, IPsec can be used to protect DNS exchanges 632 between the CPE and the Synchronization Server without any 633 modifications of the DNS server or client. DNS integration over 634 IPsec only requires an additional security policy in the Security 635 Policy Database (SPD). One disadvantage of IPsec is that NATs and 636 firewall traversal may be problematic. However, in our case, the CPE 637 is connected to the Internet, and IPsec communication between the CPE 638 and the Synchronization Server should not be impacted by middle 639 boxes. 641 How the PSK can be used by any of the TSIG, TLS/DTLS or IPsec 642 protocols: Authentication based on certificates implies a mutual 643 authentication and thus requires the CPE to manage a private key, a 644 public key, or certificates, as well as Certificate Authorities. 645 This adds complexity to the configuration especially on the CPE side. 646 For this reason, we RECOMMEND that the CPE MAY use PSK or certificate 647 base authentication, and that the Synchronization Server MUST support 648 PSK and certificate based authentication. 650 Note also that authentication of message exchanges between the CPE 651 and the Synchronization Server SHOULD NOT use the external IP address 652 of the CPE to index the appropriate keys. As detailed in Section 9, 653 the IP addresses of the Synchronization Server and the Hidden Primary 654 are subject to change, for example while the network is being 655 renumbered. This means that the necessary keys to authenticate 656 transaction SHOULD NOT be indexed using the IP address, and SHOULD be 657 resilient to IP address changes. 659 5.3. CPE Security Policies 661 This section details security policies related to the Hidden Primary 662 / Secondary synchronization. 664 The Hidden Primary, as described in this document SHOULD drop any 665 queries from the home network. This could be implemented via port 666 binding and/or firewall rules. The precise mechanism deployed is out 667 of scope of this document. 669 The Hidden Primary SHOULD drop any DNS queries arriving on the WAN 670 interface that are not issued from the Synchronization Server. 672 The Hidden Primary SHOULD drop any outgoing packets other than DNS 673 NOTIFY query, SOA response, IXFR response or AXFR responses. 675 The Hidden Primary SHOULD drop any incoming packets other than DNS 676 NOTIFY response, SOA query, IXFR query or AXFR query. 678 The Hidden Primary SHOULD drop any non protected IXFR or AXFR 679 exchange,depending on how the synchronization is secured. 681 6. DNSSEC compliant Homenet Architecture 683 [RFC7368] in Section 3.7.3 recommends DNSSEC to be deployed on both 684 the authoritative server and the resolver. The resolver side is out 685 of scope of this document, and only the authoritative part of the 686 server is considered. 688 Deploying DNSSEC requires signing the zone and configuring a secure 689 delegation. As described in Section 4.1, signing can be performed 690 either by the CPE or by the Outsourcing Infrastructure. Section 6.1 691 details the implications of these two alternatives. Similarly, the 692 secure delegation can be performed by the CPE or by the Outsourcing 693 Infrastructure. Section 6.2 discusses these two alternatives. 695 6.1. Zone Signing 697 This section discusses the pros and cons when zone signing is 698 performed by the CPE or by the Outsourcing Infrastructure. It is 699 RECOMMENDED that the CPE signs the zone unless there is a strong 700 argument against this, such as a CPE that is not capable of signing 701 the zone. In that case zone signing MAY be performed by the 702 Outsourcing Infrastructure on behalf of the CPE. 704 Reasons for signing the zone by the CPE are: 706 - 1: Keeping the Homenet Zone and the Public Homenet Zone equal to 707 securely optimize DNS resolution. As the Public Zone is signed 708 with DNSSEC, RRsets are authenticated, and thus DNS responses 709 can be validated even though they are not provided by the 710 authoritative server. This provides the CPE the ability to 711 respond on behalf of the Public Authoritative Server(s). This 712 could be useful for example if, in the future, the CPE 713 announces to the home network that the CPE can act as a local 714 authoritative primary or equivalent for the Homenet Zone. 715 Currently the CPE is not expected to receive authoritative DNS 716 queries, as its IP address is not mentioned in the Public 717 Homenet Zone. On the other hand most CPEs host a resolving 718 function, and could be configured to perform a local lookup to 719 the Homenet Zone instead of initiating a DNS exchange with the 720 Public Authoritative Server(s). Note that outsourcing the zone 721 signing operation means that all DNSSEC queries SHOULD be 722 cached to perform a local lookup, otherwise a resolution with 723 the Public Authoritative Server(s) would be performed. 725 - 2: Keeping the Homenet Zone and the Public Homenet Zone equal to 726 securely address the connectivity disruption independence 727 detailed in [RFC7368] section 4.4.1 and 3.7.5. As local 728 lookups are possible in case of network disruption, 729 communications within the home network can still rely on the 730 DNSSEC service. Note that outsourcing the zone signing 731 operation does not address connectivity disruption independence 732 with DNSSEC. Instead local lookup would provide DNS as opposed 733 to DNSSEC responses provided by the Public Authoritative 734 Server(s). 736 - 3: Keeping the Homenet Zone and the Public Homenet Zone equal to 737 guarantee coherence between DNS responses. Using a unique zone 738 is one way to guarantee uniqueness of the responses among 739 servers and places. Issues generated by different views are 740 discussed in more details in Section 7. 742 - 2: Privacy and Integrity of the DNSSEC Homenet Zone are better 743 guaranteed. When the Zone is signed by the CPE, it makes 744 modification of the DNS data -- for example for flow 745 redirection -- impossible. As a result, signing the Homenet 746 Zone by the CPE provides better protection for end user 747 privacy. 749 Reasons for signing the zone by the Outsourcing Infrastructure are: 751 - 1: The CPE may not be capable of signing the zone, most likely 752 because its firmware does not support this function. However 753 this reason is expected to become less and less valid over 754 time. 756 - 2: Outsourcing DNSSEC management operations. Management 757 operations involve key roll-over, which can be performed 758 automatically by the CPE and transparently for the end user. 759 Avoiding DNSSEC management is mostly motivated by bad software 760 implementations. 762 - 3: Reducing the impact of CPE replacement on the Public Homenet 763 Zone. Unless the CPE private keys can be extracted and stored 764 off-device, CPE hardware replacement will result in an 765 emergency key roll-over. This can be mitigated by using 766 relatively small TTLs. 768 - 4: Reducing configuration impact on the end user. Unless there 769 are zero configuration mechanisms in place to provide 770 credentials between the new CPE and the Synchronization Server, 771 authentication associations between the CPE and the 772 Synchronization Server would need to be re-configured. As CPE 773 replacement is not expected to happen regularly, end users may 774 not be at ease with such configuration settings. However, 775 mechanisms as described in 776 [I-D.ietf-homenet-naming-architecture-dhc-options] use DHCP 777 Options to outsource the configuration and avoid this issue. 779 - 5: The Outsourcing Infrastructure is more likely to handle private 780 keys more securely than the CPE. However, having all private 781 keys in one place may also nullify that benefit. 783 6.2. Secure Delegation 785 Secure delegation is achieved only if the DS RRset is properly set in 786 the parent zone. Secure delegation can be performed by the CPE or 787 the Outsourcing Infrastructures (that is the Synchronization Server 788 or the Public Authoritative Server(s)). 790 The DS RRset can be updated manually with nsupdate for example. This 791 requires the CPE or the Outsourcing Infrastructure to be 792 authenticated by the DNS server hosting the parent of the Public 793 Homenet Zone. Such a trust channel between the CPE and the parent 794 DNS server may be hard to maintain with CPEs, and thus may be easier 795 to establish with the Outsourcing Infrastructure. In fact, the 796 Public Authoritative Server(s) may use Automating DNSSEC Delegation 797 Trust Maintenance [RFC7344]. 799 7. Handling Different Views 801 The Homenet Zone provides information about the home network. Some 802 users may be tempted to have provide responses dependent on the 803 origin of the DNS query. More specifically, some users may be 804 tempted to provide a different view for DNS queries originating from 805 the home network and for DNS queries coming from the Internet. Each 806 view could then be associated with a dedicated Homenet Zone. Note 807 that this document does not specify how DNS queries originating from 808 the home network are addressed to the Homenet Zone. This could be 809 done via hosting the DNS resolver on the CPE for example. 811 This section is not normative. Section 7.1 details why some nodes 812 may only be reachable from the home network and not from the global 813 Internet. Section 7.2 briefly describes the consequences of having 814 distinct views such as a "home network view" and an "Internet view". 815 Finally, Section 7.3 provides guidance on how to resolve names that 816 are only significant in the home network, without creating different 817 views. 819 7.1. Misleading Reasons for Local Scope DNS Zone 821 The motivation for supporting different views is to provide different 822 answers dependent on the origin of the DNS query, for reasons such 823 as: 825 - 1: An end user may want to have services not published on the 826 Internet. Services like the CPE administration interface that 827 provides the GUI to administer your CPE might not seem 828 advisable to publish on the Internet. Similarly, services like 829 the mapper that registers the devices of your home network may 830 also not be desirable to be published on the Internet. In both 831 cases, these services should only be known or used by the 832 network administrator. To restrict the access of such 833 services, the home network administrator may choose to publish 834 these pieces of information only within the home network, where 835 it might be assumed that the users are more trusted than on the 836 Internet. Even though this assumption may not be valid, at 837 least this may reduce the surface of any attack. 839 - 2: Services within the home network may be reachable using non 840 global IP addresses. IPv4 and NAT may be one reason. On the 841 other hand IPv6 may favor link-local or site-local IP 842 addresses. These IP addresses are not significant outside the 843 boundaries of the home network. As a result, they MAY be 844 published in the home network view, and SHOULD NOT be published 845 in the Public Homenet Zone. 847 7.2. Consequences 849 Enabling different views leads to a non-coherent naming system. 850 Depending on where resolution is performed, some services will not be 851 available. This may be especially inconvenient with devices with 852 multiple interfaces that are attached both to the Internet via a 853 3G/4G interface and to the home network via a WLAN interface. 854 Devices may also cache the results of name resolution, and these 855 cached entries may no longer be valid if a mobile device moves 856 between a homenet connection and an internet connection e.g. a device 857 temporarily loses wifi signal and switches to 3G. 859 Regarding local-scope IP addresses, such devices may end up with poor 860 connectivity. Suppose, for example, that DNS resolution is performed 861 via the WLAN interface attached to the CPE, and the response provides 862 local-scope IP addresses, but the communication is initiated on the 863 3G/4G interface. Communications with local-scope addresses will be 864 unreachable on the Internet, thus aborting the communication. The 865 same situation occurs if a device is flip / flopping between various 866 WLAN networks. 868 Regarding DNSSEC, if the CPE does not sign the Homenet Zone and 869 outsources the signing process, the two views are different, because 870 one is protected with DNSSEC whereas the other is not. Devices with 871 multiple interfaces will have difficulty securing the naming 872 resolution, as responses originating from the home network may not be 873 signed. 875 For devices with all its interfaces attached to a single 876 administrative domain, that is to say the home network, or the 877 Internet. Incoherence between DNS responses may still also occur if 878 the device is able to perform DNS resolutions both using the DNS 879 resolving server of the home network, or one of the ISP. DNS 880 resolution performed via the CPE or the ISP resolver may be different 881 than those performed over the Internet. 883 7.3. Guidance and Recommendations 885 As documented in Section 7.2, it is RECOMMENDED to avoid different 886 views. If network administrators choose to implement multiple views, 887 impacts on devices' resolution SHOULD be evaluated. 889 As a consequence, the Homenet Zone is expected to be an exact copy of 890 the Public Homenet Zone. As a result, services that are not expected 891 to be published on the Internet SHOULD NOT be part of the Homenet 892 Zone, local-scope addresses SHOULD NOT be part of the Homenet Zone, 893 and when possible, the CPE SHOULD sign the Homenet Zone. 895 The Homenet Zone is expected to host public information only. It is 896 not the scope of the DNS service to define local home network 897 boundaries. Instead, local scope information is expected to be 898 provided to the home network using local scope naming services. mDNS 899 [RFC6762] DNS-SD [RFC6763] are two examples of these services. 900 Currently mDNS is limited to a single link network. However, future 901 protocols are expected to leverage this constraint as pointed out in 902 [RFC7558]. 904 8. Homenet Reverse Zone 906 This section is focused on the Homenet Reverse Zone. 908 Firstly, all considerations for the Homenet Zone apply to the Homenet 909 Reverse Zone. The main difference between the Homenet Reverse Zone 910 and the Homenet Zone is that the parent zone of the Homenet Reverse 911 Zone is most likely managed by the ISP. As the ISP also provides the 912 IP prefix to the CPE, it may be able to authenticate the CPE using 913 mechanisms outside the scope of this document e.g. the physical 914 attachment point to the ISP network. If the Reverse Synchronization 915 Server is managed by the ISP, credentials to authenticate the CPE for 916 the zone synchronization may be set automatically and transparently 917 to the end user. [I-D.ietf-homenet-naming-architecture-dhc-options] 918 describes how automatic configuration may be performed. 920 With IPv6, the domain space for IP addresses is so large that reverse 921 zone may be confronted with scalability issues. How the reverse zone 922 is generated is out of scope of this document. 923 [I-D.howard-dnsop-ip6rdns] provides guidance on how to address 924 scalability issues. 926 9. Renumbering 928 This section details how renumbering is handled by the Hidden Primary 929 server or the Synchronization Server. Both types of renumbering are 930 discussed i.e. "make-before-break" and "break-before-make". 932 In the make-before-break renumbering scenario, the new prefix is 933 advertised, the network is configured to prepare the transition to 934 the new prefix. During a period of time, the two prefixes old and 935 new coexist, before the old prefix is completely removed. In the 936 break-before-make renumbering scenario, the new prefix is advertised 937 making the old prefix obsolete. 939 Renumbering has been extensively described in [RFC4192] and analyzed 940 in [RFC7010] and the reader is expected to be familiar with them 941 before reading this section. 943 9.1. Hidden Primary 945 In a renumbering scenario, the Hidden Primary is informed it is being 946 renumbered. In most cases, this occurs because the whole home 947 network is being renumbered. As a result, the Homenet Zone will also 948 be updated. Although the new and old IP addresses may be stored in 949 the Homenet Zone, we recommend that only the newly reachable IP 950 addresses be published. 952 To avoid reachability disruption, IP connectivity information 953 provided by the DNS SHOULD be coherent with the IP plane. In our 954 case, this means the old IP address SHOULD NOT be provided via the 955 DNS when it is not reachable anymore. Let for example TTL be the TTL 956 associated with a RRset of the Homenet Zone, it may be cached for TTL 957 seconds. Let T_NEW be the time the new IP address replaces the old 958 IP address in the Homenet Zone, and T_OLD_UNREACHABLE the time the 959 old IP is not reachable anymore. In the case of the make-before- 960 break, seamless reachability is provided as long as T_OLD_UNREACHABLE 961 - T_NEW > 2 * TTL. If this is not satisfied, then devices associated 962 with the old IP address in the home network may become unreachable 963 for 2 * TTL - (T_OLD_UNREACHABLE - T_NEW). In the case of a break- 964 before-make, T_OLD_UNREACHABLE = T_NEW, and the device may become 965 unreachable up to 2 * TTL. 967 Once the Homenet Zone file has been updated on the Hidden Primary, 968 the Hidden Primary needs to inform the Outsourcing Infrastructure 969 that the Homenet Zone has been updated and that the IP address to use 970 to retrieve the updated zone has also been updated. Both 971 notifications are performed using regular DNS exchanges. Mechanisms 972 to update an IP address provided by lower layers with protocols like 973 SCTP [RFC4960], MOBIKE [RFC4555] are not considered in this document. 975 The Hidden Primary SHOULD inform the Synchronization Server that the 976 Homenet Zone has been updated by sending a NOTIFY payload with the 977 new IP address. In addition, this NOTIFY payload SHOULD be 978 authenticated using SIG(0) or TSIG. When the Synchronization Server 979 receives the NOTIFY payload, it MUST authenticate it. Note that the 980 cryptographic key used for the authentication SHOULD be indexed by 981 the Registered Homenet Domain contained in the NOTIFY payload as well 982 as the RRSIG. In other words, the IP address SHOULD NOT be used as 983 an index. If authentication succeeds, the Synchronization Server 984 MUST also notice the IP address has been modified and perform a 985 reachability check before updating its primary configuration. The 986 routability check MAY performed by sending a SOA request to the 987 Hidden Primary using the source IP address of the NOTIFY. This 988 exchange is also secured, and if an authenticated response is 989 received from the Hidden Primary with the new IP address, the 990 Synchronization Server SHOULD update its configuration file and 991 retrieve the Homenet Zone using an AXFR or a IXFR exchange. 993 Note that the primary reason for providing the IP address is that the 994 Hidden Primary is not publicly announced in the DNS. If the Hidden 995 Primary were publicly announced in the DNS, then the IP address 996 update could have been performed using the DNS as described in 997 Section 9.2. 999 9.2. Synchronization Server 1001 Renumbering of the Synchronization Server results in the 1002 Synchronization Server changing its IP address. The Synchronization 1003 Server is a secondary, so its renumbering does not impact the Homenet 1004 Zone. In fact, exchanges to the Synchronization Server are 1005 restricted to the Homenet Zone synchronization. In our case, the 1006 Hidden Primary MUST be able to send NOTIFY payloads to the 1007 Synchronization Server. 1009 If the Synchronization Server is configured in the Hidden Primary 1010 configuration file using a FQDN, then the update of the IP address is 1011 performed by DNS. More specifically, before sending the NOTIFY, the 1012 Hidden Primary performs a DNS resolution to retrieve the IP address 1013 of the secondary. 1015 As described in Section 9.1, the Synchronization Server DNS 1016 information SHOULD be coherent with the IP plane. Let TTL be the TTL 1017 associated with the Synchronization Server FQDN, T_NEW the time the 1018 new IP address replaces the old one and T_OLD_UNREACHABLE the time 1019 the Synchronization Server is not reachable anymore with its old IP 1020 address. Seamless reachability is provided as long as 1021 T_OLD_UNREACHABLE - T_NEW > 2 * TTL. If this condition is not met, 1022 the Synchronization Server may be unreachable during 2 * TTL - 1023 (T_OLD_UNREACHABLE - T_NEW). In the case of a break-before-make, 1024 T_OLD_UNREACHABLE = T_NEW, and it may become unreachable up to 2 * 1025 TTL. 1027 Some DNS infrastructure uses the IP address to designate the 1028 secondary, in which case, other mechanisms must be found. The reason 1029 for using IP addresses instead of names is generally to reach an 1030 internal interface that is not designated by a FQDN, and to avoid 1031 potential bootstrap problems. Such scenarios are considered as out 1032 of scope in the case of home networks. 1034 10. Privacy Considerations 1036 Outsourcing the DNS Authoritative service from the CPE to a third 1037 party raises a few privacy related concerns. 1039 The Homenet Zone contains a full description of the services hosted 1040 in the network. These services may not be expected to be publicly 1041 shared although their names remain accessible through the Internet. 1042 Even though DNS makes information public, the DNS does not expect to 1043 make the complete list of services public. In fact, making 1044 information public still requires the key (or FQDN) of each service 1045 to be known by the resolver in order to retrieve information about 1046 the services. More specifically, making mywebsite.example.com public 1047 in the DNS, is not sufficient to make resolvers aware of the 1048 existence web site. However, an attacker may walk the reverse DNS 1049 zone, or use other reconnaissance techniques to learn this 1050 information as described in [I-D.ietf-opsec-ipv6-host-scanning]. 1052 In order to prevent the complete Homenet Zone being published on the 1053 Internet, AXFR queries SHOULD be blocked on the Public Authoritative 1054 Server(s). Similarly, to avoid zone-walking NSEC3 [RFC5155] SHOULD 1055 be preferred over NSEC [RFC4034]. 1057 When the Homenet Zone is outsourced, the end user should be aware 1058 that it provides a complete description of the services available on 1059 the home network. More specifically, names usually provides a clear 1060 indication of the service and possibly even the device type, and as 1061 the Homenet Zone contains the IP addresses associated with the 1062 service, they also limit the scope of the scan space. 1064 In addition to the Homenet Zone, the third party can also monitor the 1065 traffic associated with the Homenet Zone. This traffic may provide 1066 an indication of the services an end user accesses, plus how and when 1067 they use these services. Although, caching may obfuscate this 1068 information inside the home network, it is likely that outside your 1069 home network this information will not be cached. 1071 11. Security Considerations 1073 The Homenet Naming Architecture described in this document solves 1074 exposing the CPE's DNS service as a DoS attack vector. 1076 11.1. Names are less secure than IP addresses 1078 This document describes how an end user can make their services and 1079 devices from his home network reachable on the Internet by using 1080 names rather than IP addresses. This exposes the home network to 1081 attackers, since names are expected to include less entropy than IP 1082 addresses. In fact, with IP addresses, the Interface Identifier is 1083 64 bits long leading to up to 2^64 possibilities for a given 1084 subnetwork. This is not to mention that the subnet prefix is also of 1085 64 bits long, thus providing up to 2^64 possibilities. On the other 1086 hand, names used either for the home network domain or for the 1087 devices present less entropy (livebox, router, printer, nicolas, 1088 jennifer, ...) and thus potentially exposes the devices to dictionary 1089 attacks. 1091 11.2. Names are less volatile than IP addresses 1093 IP addresses may be used to locate a device, a host or a service. 1094 However, home networks are not expected to be assigned a time 1095 invariant prefix by ISPs. As a result, observing IP addresses only 1096 provides some ephemeral information about who is accessing the 1097 service. On the other hand, names are not expected to be as volatile 1098 as IP addresses. As a result, logging names over time may be more 1099 valuable than logging IP addresses, especially to profile an end 1100 user's characteristics. 1102 PTR provides a way to bind an IP address to a name. In that sense, 1103 responding to PTR DNS queries may affect the end user's privacy. For 1104 that reason end users may choose not to respond to PTR DNS queries 1105 and MAY instead return a NXDOMAIN response. 1107 11.3. DNS Reflection Attacks 1109 An attacker performs a reflection attack when it sends traffic to one 1110 or more intermediary nodes (reflectors), that in turn send back 1111 response traffic to the victim. Motivations for using an 1112 intermediary node might be anonymity of the attacker, as well as 1113 amplification of the traffic. Typically, when the intermediary node 1114 is a DNSSEC server, the attacker sends a DNSSEC query and the victim 1115 is likely to receive a DNSSEC response. This section analyzes how 1116 the different components may be involved as a reflector in a 1117 reflection attack. Section 11.3.1 considers the Hidden Primary, 1118 Section 11.3.2 the Synchronization Server, and Section 11.3.3 the 1119 Public Authoritative Server(s). 1121 11.3.1. Reflection Attack involving the Hidden Primary 1123 With the specified architecture, the Hidden Primary is only expected 1124 to receive DNS queries of type SOA, AXFR or IXFR. This section 1125 analyzes how these DNS queries may be used by an attacker to perform 1126 a reflection attack. 1128 DNS queries of type AXFR and IXFR use TCP and as such are less 1129 subject to reflection attacks. This makes SOA queries the only 1130 remaining practical vector of attacks for reflection attacks, based 1131 on UDP. 1133 SOA queries are not associated with a large amplification factor 1134 compared to queries of type "ANY" or to query of non existing FQDNs. 1135 This reduces the probability a DNS query of type SOA will be involved 1136 in a DDoS attack. 1138 SOA queries are expected to follow a very specific pattern, which 1139 makes rate limiting techniques an efficient way to limit such 1140 attacks, and associated impact on the naming service of the home 1141 network. 1143 Motivations for such a flood might be a reflection attack, but could 1144 also be a resource exhaustion attack performed against the Hidden 1145 Primary. The Hidden Primary only expects to exchange traffic with 1146 the Synchronization Server, that is its associated secondary. Even 1147 though secondary servers may be renumbered as mentioned in Section 9, 1148 the Hidden Primary is likely to perform a DNSSEC resolution and find 1149 out the associated secondary's IP addresses in use. As a result, the 1150 Hidden Primary is likely to limit the origin of its incoming traffic 1151 based on the origin IP address. 1153 With filtering rules based on IP address, SOA flooding attacks are 1154 limited to forged packets with the IP address of the secondary 1155 server. In other words, the only victims are the Hidden Primary 1156 itself or the secondary. There is a need for the Hidden Primary to 1157 limit that flood to limit the impact of the reflection attack on the 1158 secondary, and to limit the resource needed to carry on the traffic 1159 by the CPE hosting the Hidden Primary. On the other hand, mitigation 1160 should be performed appropriately, so as to limit the impact on the 1161 legitimate SOA sent by the secondary. 1163 The main reason for the Synchronization Server sending a SOA query is 1164 to update the SOA RRset after the TTL expires, to check the serial 1165 number upon the receipt of a NOTIFY query from the Hidden Primary, or 1166 to re-send the SOA request when the response has not been received. 1167 When a flood of SOA queries is received by the Hidden Primary, the 1168 Hidden Primary may assume it is involved in an attack. 1170 There are few legitimate time slots when the secondary is expected to 1171 send a SOA query. Suppose T_NOTIFY is the time a NOTIFY is sent by 1172 the Hidden Primary, T_SOA the last time the SOA has been queried, TTL 1173 the TTL associated to the SOA, and T_REFRESH the refresh time defined 1174 in the SOA RRset. The specific time SOA queries are expected can be 1175 for example T_NOTIFY, T_SOA + 2/3 TTL, T_SOA + TTL, T_SOA + 1176 T_REFRESH., and. Outside a few minutes following these specific time 1177 slots, the probability that the CPE discards a legitimate SOA query 1178 is very low. Within these time slots, the probability the secondary 1179 may have its legitimate query rejected is higher. If a legitimate 1180 SOA is discarded, the secondary will re-send SOA query every "retry 1181 time" second until "expire time" seconds occurs, where "retry time" 1182 and "expire time" have been defined in the SOA. 1184 As a result, it is RECOMMENDED to set rate limiting policies to 1185 protect CPE resources. If a flood lasts more than the expired time 1186 defined by the SOA, it is RECOMMENDED to re-initiate a 1187 synchronization between the Hidden Primary and the secondaries. 1189 11.3.2. Reflection Attacks involving the Synchronization Server 1191 The Synchronization Server acts as a secondary coupled with the 1192 Hidden Primary. The secondary expects to receive NOTIFY query, SOA 1193 responses, AXFR and IXFR responses from the Hidden Primary. 1195 Sending a NOTIFY query to the secondary generates a NOTIFY response 1196 as well as initiating an SOA query exchange from the secondary to the 1197 Hidden Primary. As mentioned in [RFC1996], this is a known "benign 1198 denial of service attack". As a result, the Synchronization Server 1199 SHOULD enforce rate limiting on sending SOA queries and NOTIFY 1200 responses to the Hidden Primary. Most likely, when the secondary is 1201 flooded with valid and signed NOTIFY queries, it is under a replay 1202 attack which is discussed in Section 11.5. The key thing here is 1203 that the secondary is likely to be designed to be able to process 1204 much more traffic than the Hidden Primary hosted on a CPE. 1206 This paragraph details how the secondary may limit the NOTIFY 1207 queries. Because the Hidden Primary may be renumbered, the secondary 1208 SHOULD NOT perform permanent IP filtering based on IP addresses. In 1209 addition, a given secondary may be shared among multiple Hidden 1210 Primaries which make filtering rules based on IP harder to set. The 1211 time at which a NOTIFY is sent by the Hidden Primary is not 1212 predictable. However, a flood of NOTIFY messages may be easily 1213 detected, as a NOTIFY originated from a given Homenet Zone is 1214 expected to have a very limited number of unique source IP addresses, 1215 even when renumbering is occurring. As a result, the secondary, MAY 1216 rate limit incoming NOTIFY queries. 1218 On the Hidden Primary side, it is recommended that the Hidden Primary 1219 sends a NOTIFY as long as the zone has not been updated by the 1220 secondary. Multiple SOA queries may indicate the secondary is under 1221 attack. 1223 11.3.3. Reflection Attacks involving the Public Authoritative Servers 1225 Reflection attacks involving the Public Authoritative Server(s) are 1226 similar to attacks on any Outsourcing Infrastructure. This is not 1227 specific to the architecture described in this document, and thus are 1228 considered as out of scope. 1230 In fact, one motivation of the architecture described in this 1231 document is to expose the Public Authoritative Server(s) to attacks 1232 instead of the CPE, as it is believed that the Public Authoritative 1233 Server(s) will be better able to defend itself. 1235 11.4. Flooding Attack 1237 The purpose of flooding attacks is mostly resource exhaustion, where 1238 the resource can be bandwidth, memory, or CPU for example. 1240 One goal of the architecture described in this document is to limit 1241 the surface of attack on the CPE. This is done by outsourcing the 1242 DNS service to the Public Authoritative Server(s). By doing so, the 1243 CPE limits its DNS interactions between the Hidden Primary and the 1244 Synchronization Server. This limits the number of entities the CPE 1245 interacts with as well as the scope of DNS exchanges - NOTIFY, SOA, 1246 AXFR, IXFR. 1248 The use of an authenticated channel with SIG(0) or TSIG between the 1249 CPE and the Synchronization Server, enables detection of illegitimate 1250 DNS queries, so appropriate action may be taken - like dropping the 1251 queries. If signatures are validated, then most likely, the CPE is 1252 under a replay attack, as detailed in Section 11.5 1254 In order to limit the resource required for authentication, it is 1255 recommended to use TSIG that uses symmetric cryptography over SIG(0) 1256 that uses asymmetric cryptography. 1258 11.5. Replay Attack 1260 Replay attacks consist of an attacker either resending or delaying a 1261 legitimate message that has been sent by an authorized user or 1262 process. As the Hidden Primary and the Synchronization Server use an 1263 authenticated channel, replay attacks are mostly expected to use 1264 forged DNS queries in order to provide valid traffic. 1266 From the perspective of an attacker, using a correctly authenticated 1267 DNS query may not be detected as an attack and thus may generate a 1268 response. Generating and sending a response consumes more resources 1269 than either dropping the query by the defender, or generating the 1270 query by the attacker, and thus could be used for resource exhaustion 1271 attacks. In addition, as the authentication is performed at the DNS 1272 layer, the source IP address could be impersonated in order to 1273 perform a reflection attack. 1275 Section 11.3 details how to mitigate reflection attacks and 1276 Section 11.4 details how to mitigate resource exhaustion. Both 1277 sections assume a context of DoS with a flood of DNS queries. This 1278 section suggests a way to limit the attack surface of replay attacks. 1280 As SIG(0) and TSIG use inception and expiration time, the time frame 1281 for replay attack is limited. SIG(0) and TSIG recommends a fudge 1282 value of 5 minutes. This value has been set as a compromise between 1283 possibly loose time synchronization between devices and the valid 1284 lifetime of the message. As a result, better time synchronization 1285 policies could reduce the time window of the attack. 1287 12. IANA Considerations 1289 This document has no actions for IANA. 1291 13. Acknowledgment 1293 The authors wish to thank Philippe Lemordant for its contributions on 1294 the early versions of the draft; Ole Troan for pointing out issues 1295 with the IPv6 routed home concept and placing the scope of this 1296 document in a wider picture; Mark Townsley for encouragement and 1297 injecting a healthy debate on the merits of the idea; Ulrik de Bie 1298 for providing alternative solutions; Paul Mockapetris, Christian 1299 Jacquenet, Francis Dupont and Ludovic Eschard for their remarks on 1300 CPE and low power devices; Olafur Gudmundsson for clarifying DNSSEC 1301 capabilities of small devices; Simon Kelley for its feedback as 1302 dnsmasq implementer; Andrew Sullivan, Mark Andrew, Ted Lemon, Mikael 1303 Abrahamson, Michael Richardson and Ray Bellis for their feedback on 1304 handling different views as well as clarifying the impact of 1305 outsourcing the zone signing operation outside the CPE; Mark Andrew 1306 and Peter Koch for clarifying the renumbering. 1308 14. References 1310 14.1. Normative References 1312 [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", 1313 STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, 1314 . 1316 [RFC1035] Mockapetris, P., "Domain names - implementation and 1317 specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, 1318 November 1987, . 1320 [RFC1995] Ohta, M., "Incremental Zone Transfer in DNS", RFC 1995, 1321 DOI 10.17487/RFC1995, August 1996, 1322 . 1324 [RFC1996] Vixie, P., "A Mechanism for Prompt Notification of Zone 1325 Changes (DNS NOTIFY)", RFC 1996, DOI 10.17487/RFC1996, 1326 August 1996, . 1328 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1329 Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ 1330 RFC2119, March 1997, 1331 . 1333 [RFC2136] Vixie, P., Ed., Thomson, S., Rekhter, Y., and J. Bound, 1334 "Dynamic Updates in the Domain Name System (DNS UPDATE)", 1335 RFC 2136, DOI 10.17487/RFC2136, April 1997, 1336 . 1338 [RFC2142] Crocker, D., "Mailbox Names for Common Services, Roles and 1339 Functions", RFC 2142, DOI 10.17487/RFC2142, May 1997, 1340 . 1342 [RFC2308] Andrews, M., "Negative Caching of DNS Queries (DNS 1343 NCACHE)", RFC 2308, DOI 10.17487/RFC2308, March 1998, 1344 . 1346 [RFC2845] Vixie, P., Gudmundsson, O., Eastlake 3rd, D., and B. 1347 Wellington, "Secret Key Transaction Authentication for DNS 1348 (TSIG)", RFC 2845, DOI 10.17487/RFC2845, May 2000, 1349 . 1351 [RFC2930] Eastlake 3rd, D., "Secret Key Establishment for DNS (TKEY 1352 RR)", RFC 2930, DOI 10.17487/RFC2930, September 2000, 1353 . 1355 [RFC2931] Eastlake 3rd, D., "DNS Request and Transaction Signatures 1356 ( SIG(0)s )", RFC 2931, DOI 10.17487/RFC2931, September 1357 2000, . 1359 [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. 1360 Rose, "Resource Records for the DNS Security Extensions", 1361 RFC 4034, DOI 10.17487/RFC4034, March 2005, 1362 . 1364 [RFC4301] Kent, S. and K. Seo, "Security Architecture for the 1365 Internet Protocol", RFC 4301, DOI 10.17487/RFC4301, 1366 December 2005, . 1368 [RFC4555] Eronen, P., "IKEv2 Mobility and Multihoming Protocol 1369 (MOBIKE)", RFC 4555, DOI 10.17487/RFC4555, June 2006, 1370 . 1372 [RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol", 1373 RFC 4960, DOI 10.17487/RFC4960, September 2007, 1374 . 1376 [RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS 1377 Security (DNSSEC) Hashed Authenticated Denial of 1378 Existence", RFC 5155, DOI 10.17487/RFC5155, March 2008, 1379 . 1381 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 1382 (TLS) Protocol Version 1.2", RFC 5246, DOI 10.17487/ 1383 RFC5246, August 2008, 1384 . 1386 [RFC5936] Lewis, E. and A. Hoenes, Ed., "DNS Zone Transfer Protocol 1387 (AXFR)", RFC 5936, DOI 10.17487/RFC5936, June 2010, 1388 . 1390 [RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer 1391 Security Version 1.2", RFC 6347, DOI 10.17487/RFC6347, 1392 January 2012, . 1394 [RFC6644] Evans, D., Droms, R., and S. Jiang, "Rebind Capability in 1395 DHCPv6 Reconfigure Messages", RFC 6644, DOI 10.17487/ 1396 RFC6644, July 2012, 1397 . 1399 [RFC6762] Cheshire, S. and M. Krochmal, "Multicast DNS", RFC 6762, 1400 DOI 10.17487/RFC6762, February 2013, 1401 . 1403 [RFC6763] Cheshire, S. and M. Krochmal, "DNS-Based Service 1404 Discovery", RFC 6763, DOI 10.17487/RFC6763, February 2013, 1405 . 1407 [RFC7296] Kaufman, C., Hoffman, P., Nir, Y., Eronen, P., and T. 1408 Kivinen, "Internet Key Exchange Protocol Version 2 1409 (IKEv2)", STD 79, RFC 7296, DOI 10.17487/RFC7296, October 1410 2014, . 1412 14.2. Informational References 1414 [I-D.howard-dnsop-ip6rdns] 1415 Howard, L., "Reverse DNS in IPv6 for Internet Service 1416 Providers", draft-howard-dnsop-ip6rdns-00 (work in 1417 progress), June 2014. 1419 [I-D.ietf-homenet-naming-architecture-dhc-options] 1420 Migault, D., Cloetens, W., Griffiths, C., and R. Weber, 1421 "DHCP Options for Homenet Naming Architecture", draft- 1422 ietf-homenet-naming-architecture-dhc-options-02 (work in 1423 progress), May 2015. 1425 [I-D.ietf-opsec-ipv6-host-scanning] 1426 Gont, F. and T. Chown, "Network Reconnaissance in IPv6 1427 Networks", draft-ietf-opsec-ipv6-host-scanning-08 (work in 1428 progress), August 2015. 1430 [RFC1033] Lottor, M., "Domain Administrators Operations Guide", RFC 1431 1033, DOI 10.17487/RFC1033, November 1987, 1432 . 1434 [RFC4192] Baker, F., Lear, E., and R. Droms, "Procedures for 1435 Renumbering an IPv6 Network without a Flag Day", RFC 4192, 1436 DOI 10.17487/RFC4192, September 2005, 1437 . 1439 [RFC7010] Liu, B., Jiang, S., Carpenter, B., Venaas, S., and W. 1440 George, "IPv6 Site Renumbering Gap Analysis", RFC 7010, 1441 DOI 10.17487/RFC7010, September 2013, 1442 . 1444 [RFC7344] Kumari, W., Gudmundsson, O., and G. Barwood, "Automating 1445 DNSSEC Delegation Trust Maintenance", RFC 7344, DOI 1446 10.17487/RFC7344, September 2014, 1447 . 1449 [RFC7368] Chown, T., Ed., Arkko, J., Brandt, A., Troan, O., and J. 1450 Weil, "IPv6 Home Networking Architecture Principles", RFC 1451 7368, DOI 10.17487/RFC7368, October 2014, 1452 . 1454 [RFC7558] Lynn, K., Cheshire, S., Blanchet, M., and D. Migault, 1455 "Requirements for Scalable DNS-Based Service Discovery 1456 (DNS-SD) / Multicast DNS (mDNS) Extensions", RFC 7558, DOI 1457 10.17487/RFC7558, July 2015, 1458 . 1460 Appendix A. Document Change Log 1462 [RFC Editor: This section is to be removed before publication] 1464 -08 1466 - 1: Clarification of the meaning of CPE. The architecture does not 1467 consider a single CPE. The CPE represents multiple functions. 1469 -07: 1471 - 1: Ray Hunter is added as a co-author. 1473 -06: 1475 - 2: Ray Hunter is added in acknowledgment. 1477 - 3: Adding Renumbering section with comments from Dallas meeting 1479 - 4: Replacing Master / Primary - Slave / Secondary 1481 Security Consideration has been updated with Reflection 1482 attacks, flooding attacks, and replay attacks. 1484 -05: 1486 *Clarifying on handling different views: 1488 - 1: How the CPE may be involved in the resolution and responds 1489 without necessarily requesting the Public Authoritative 1490 Server(s) (and eventually the Hidden Primary) 1492 - 2: How to handle local scope resolution that is link-local, site- 1493 local and NAT IP addresses as well as Private domain names that 1494 the administrator does not want to publish outside the home 1495 network. 1497 Adding a Privacy Considerations Section 1499 Clarification on pro/cons outsourcing zone-signing 1501 Documenting how to handle reverse zones 1503 Adding reference to RFC 2308 1505 -04: 1507 *Clarifications on zone signing 1508 *Rewording 1510 *Adding section on different views 1512 *architecture clarifications 1514 -03: 1516 *Simon's comments taken into consideration 1518 *Adding SOA, PTR considerations 1520 *Removing DNSSEC performance paragraphs on low power devices 1522 *Adding SIG(0) as a mechanism for authenticating the servers 1524 *Goals clarification: the architecture described in the document 1) 1525 does not describe new protocols, and 2) can be adapted to specific 1526 cases for advance users. 1528 -02: 1530 *remove interfaces: "Public Authoritative Server Naming Interface" is 1531 replaced by "Public Authoritative Server(s)y(ies)". "Public 1532 Authoritative Server Management Interface" is replaced by 1533 "Synchronization Server". 1535 -01.3: 1537 *remove the authoritative / resolver services of the CPE. 1538 Implementation dependent 1540 *remove interactions with mdns and dhcp. Implementation dependent. 1542 *remove considerations on low powered devices 1544 *remove position toward homenet arch 1546 *remove problem statement section 1548 -01.2: 1550 * add a CPE description to show that the architecture can fit CPEs 1552 * specification of the architecture for very low powered devices. 1554 * integrate mDNS and DHCP interactions with the Homenet Naming 1555 Architecture. 1557 * Restructuring the draft. 1) We start from the homenet-arch draft to 1558 derive a Naming Architecture, then 2) we show why CPE need mechanisms 1559 that do not expose them to the Internet, 3) we describe the 1560 mechanisms. 1562 * I remove the terminology and expose it in the figures A and B. 1564 * remove the Front End Homenet Naming Architecture to Homenet Naming 1566 -01: 1568 * Added C. Griffiths as co-author. 1570 * Updated section 5.4 and other sections of draft to update section 1571 on Hidden Primary / Slave functions with CPE as Hidden Primary/ 1572 Homenet Server. 1574 * For next version, address functions of MDNS within Homenet Lan and 1575 publishing details northbound via Hidden Primary. 1577 -00: First version published. 1579 Authors' Addresses 1581 Daniel Migault 1582 Ericsson 1583 8400 Boulevard Decarie 1584 Montreal, QC H4P 2N2 1585 Canada 1587 Phone: +1 (514) 452-2160 1588 Email: daniel.migault@ericsson.com 1590 Ralf Weber 1591 Nominum 1592 2000 Seaport Blvd #400 1593 Redwood City, CA 94063 1594 US 1596 Email: ralf.weber@nominum.com 1597 URI: http://www.nominum.com 1598 Ray Hunter 1599 Globis Consulting BV 1600 Weegschaalstraat 3 1601 5632CW Eindhoven 1602 The Netherlands 1604 Email: v6ops@globis.net 1605 URI: http://www.globis.net 1607 Chris Griffiths 1609 Email: cgriffiths@gmail.com 1611 Wouter Cloetens 1612 SoftAtHome 1613 vaartdijk 3 701 1614 3018 Wijgmaal 1615 Belgium 1617 Email: wouter.cloetens@softathome.com