Draft: draft-ietf-homenet-front-end-naming-delegation

Commentary: … ng to 
 Section 12 needs to be fleshed out . 
 OOps , I rewrote Privacy Considerations since that was section 12 .
This section details the interfaces and channels of the DM, that is
the Control Channel, the Synchronization Channel and the Distribution
Channel.
The Control Channel and the Synchronization Channel are the
interfaces used between the HNA and the Outsourcing Infrastructure.
The entity within the Outsourcing Infrastructure responsible to
handle these communications is the DM and communications between the
HNA and the DM SHOULD be protected and mutually authenticated.  While
section sec-ctrl-security discusses in more depth the different
security protocols that could be used to secure, this specification
RECOMMENDS the use of TLS with mutually authentication based on
certificates to secure the channel between the HNA and the DM.
The Control Channel is used to set up the Synchronization Channel.
We assume that the HNA initiates the Control Channel connection with
the DM and as such has a prior knowledge of the DM identity (X509
certificate), the IP address and port to use and protocol to set
secure session.  We also assume the DM has knowledge of the identity
of the HNA (X509 certificate) as well as the Registered Homenet
Domain.  For more detail to see how this can be achieved, please see
section hna-provisioning.
The information exchanged between the HNA and the DM is using DNS
messages.  DNS messages can be protected using various kind of
transport layers, among others, UDP:53/DTLS, TLS/TCP:53, HTTPS:443.
There was consideration to using a standard TSIG RFC2845 or SIG(0)
RFC2931 to perform a dynamic DNS update to the DM.  There are a
number of issues with this.  The main one is that the Dynamic DNS
update would also update the parent zone's (NS, DS and associated A
or AAAA records) while the goal is to update the Distribution
Master's configuration files.  The visible NS records SHOULD remain
pointing at the cloud provider's anycast addresses.  Revealing the
address of the HNA in the DNS is not desirable.  Please see section
sec-chain-of-trust for more details.
This specification also assumes: * the DM serves both the Control
Channel and Synchronization Channel on a single IP address, single
port and with a single transport protocol.  * the HNA uses a single
IP address for both the Control and Synchronization channel by
default.  However, the HNA MAY use distinct IP addresses - see
section sec-synch and section {sec-sync-info}} for more details.
The Distribution Channel is internal to the Outsourcing
Infrastructure and as such is not the primary concern of this
specification.
When the HNA builds the public zone, it must include information that
it retrieves from the DM relating to how the zone is to be published.
the MNAME of the SOA,
the NS and associated A and AAA RRsets of the name servers.
Optionally the Outsourcing Infrastructure MAY also provide
operational parameters such as other fields of SOA (SERIAL, RNAME,
REFRESH, RETRY, EXPIRE and MINIMUM).  As the information is necessary
for the HNA to proceed and the information is associated to the
Outsourcing Infrastructure, this information exchange is mandatory.
The HNA SHOULD provide the hash of the KSK (DS RRset), so the that
Outsourcing Infrastructure provides this value to the parent zone.  A
common deployment use case is that the Outsourcing Infrastructure is
the registrar of the Registered Homenet Domain, and as such, its
relationship with the registry of the parent zone enables it to
update the parent zone.  When such relation exists, the HNA should be
able to request the Outsourcing Infrastructure to update the DS RRset
in the parent zone.  A direct update is especially necessary to
initialize the chain of trust.
Though the HNA may also later directly update the values of the DS
via the Control Channel, it is RECOMMENDED to use other mechanisms
such as CDS and CDNSKEY RFC7344 for transparent updates during key
roll overs.
As some deployment may not provide an Outsourcing Infrastructure that
will be able to update the DS in the parent zone, this information
exchange is OPTIONAL.
By accepting the DS, the DM commits in taking care of advertising the
DS to the parent zone.  Upon refusal, the DM clearly indicates it
does not have the capacity to proceed to the update.
That information sets the primary/secondary relation between the HNA
and the DM.  The HNA works as a primary authoritative DNS server, and
MUST provide the corresponding IP address.
The specified IP address on the HNA side and the currently used IP
address of the DM defines the IP addresses involved in the
Synchronization Channel.  Ports and transport protocol are the same
as those used by the Control Channel.  By default, the same IP
address used by the HNA is considered by the DM.  Exchange of this
information is OPTIONAL.
The purpose of the previous sections were to exchange information in
order to set a delegation.  The HNA MUST also be able to delete a
delegation with a specific DM.  Upon an instruction of deleting the
delegation, the DM MUST stop serving the Public Homenet Zone.
There are multiple ways these information could be exchanged between
the HNA and the DM.  This specification defines a mechanism that re-
use the DNS exchanges format.  The intention is to reuse standard
libraries especially to check the format of the exchanged fields as
well as to minimize the additional libraries needed for the HNA.  The
re-use of DNS exchanges achieves these goals.  Note that while
information is provided using DNS exchanges, the exchanged
information is not expected to be set in any zone file, instead this
information is expected to be processed appropriately.
The Control Channel is not expected to be a long term session.  After
a predefined timer the Control Channel is expected to be terminated.
The Control Channel MAY Be re-opened at any time later.
The provisioning process SHOULD provide a method of securing the
control channel, so that the content of messages can be
authenticated.  This authentication MAY be based on certificates for
both the DM and each HNA.  The DM may also create the initial
configuration for the delegation zone in the parent zone during the
provisioning process.
The information provided by the DM to the HNA is retrieved by the HNA
with a AXFR exchange.  The AXFR message enables the response to
contain any type of RRsets.  The response might be extended in the
future if additional information will be needed.  Alternatively, the
information provided by the HNA to the DM is pushed by the HNA via a
DNS update exchange.
To retrieve the necessary information to build the Public Homenet
Zone, the HNA MUST send an DNS request of type AXFR associated to the
Registered Homenet Domain.  The DM MUST respond with a zone template.
The zone template MUST contain a RRset of type SOA, one or multiple
RRset of type NS and zero or more RRset of type A or AAAA.
The SOA RR is used to indicate to the HNA the value of the MNAME of
the Public Homenet Zone.  The NAME of the SOA RR MUST be the
Registered Homenet Domain.  The MNAME value of the SOA RDATA is the
value provided by the Outsourcing Infrastructure to the HNA.  Other
RDATA values (RNAME, REFRESH, RETRY, EXPIRE and MINIMUM) are provided
by the Outsourcing Infrastructure as suggestions.  The NS RRsets are
used to carry the Public Authoritative Servers of the Outsourcing
Infrastructure.  Their associated NAME MUST be the Registered Homenet
Domain.  The TTL and RDATA are those expected to be published on the
Public Homenet Zone.  The RRsets of Type A and AAAA MUST have their
NAME matching the NSDNAME of one of the NS RRsets.
Upon receiving the response, the HNA MUST validate format and
properties of the SOA, NS and A or AAAA RRsets.  If an error occurs,
the HNA MUST stop proceeding and MUST report an error.  Otherwise,
the HNA builds the Public Homenet Zone by setting the MNAME value of
the SOA as indicated by the SOA provided by the AXFR response.  The
HNA SHOULD set the value of NAME, REFRESH, RETRY, EXPIRE and MINIMUM
of the SOA to those provided by the AXFR response.  The HNA MUST
insert the NS and corresponding A or AAAA RRset in its Public Homenet
Zone.  The HNA MUST ignore other RRsets.  If an error message is
returned by the DM, the HNA MUST proceed as a regular DNS resolution.
Error messages SHOULD be logged for further analysis.  If the
resolution does not succeed, the outsourcing operation is aborted and
the HNA MUST close the Control Channel.
To provide the DS RRset to initialize the DNSSEC chain of trust the
HNA MAY send a DNS UPDATE RFC2136 message.  The NAME in the SOA MUST
be set to the parent zone of the Registered Homenet Domain - that is
where the DS records should be inserted.  The DS RRset MUST be placed
in the Update section of the UPDATE query, and the NAME SHOULD be set
to the Registered Homenet Domain.  The RDATA of the DS RR SHOULD
correspond to the DS record to be inserted in the parent zone.
A NOERROR response from the MD is a commitment to update the parent
zone with the provided DS.  An error indicates the MD will not update
the DS, and other method should be used by the HNA.
To provide the IP address of the primary, the HNA MAY send a DNS
UPDATE message.  The NAME in the SOA MUST be the parent zone of the
Registered Homenet Domain.  The Update section MUST be a RRset of
Type NS.  The RDATA MUST be a RRset of type A or AAAA that designates
the IP addresses associated to the primary.  There may be multiple IP
addresses.  These IP addresses MUST be provided in the additional
section.  The reason to provide these IP addresses is that it is NOT
RECOMMENDED to publish these IP addresses.  As a result, it is not
expected to resolve them.
A NOERROR response indicates the DM has configured the secondary and
is committed to serve as a secondary.  An error indicates the DM is
not configured as a secondary.
The regular DNS error message SHOULD be returned to the HNA when an
error occurs.  In particular a FORMERR is returned when a format
error is found, this includes when unexpected RRSets are added or
when RRsets are missing.  A SERVFAIL error is returned when a
internal error is encountered.  A NOTZONE error is returned when
update and Zone sections are not coherent, a NOTAUTH error is
returned when the DM is not authoritative for the Zone section.  A
REFUSED error is returned when the DM refuses to proceed to the
configuration and the requested action.
To instruct to delete the delegation the HNA MAY send a DNS UPDATE
Delete message.  The NAME in the SOA MUST be the parent zone of the
Registered Homenet Domain.  The Update section MUST be a RRset of
Type NS.  The NAME associated to the NS RRSet MUST be the Registered
Domain Name.  As indicated by RFC2136 section 2.5.2 the delete
instruction is set by setting the TTL to 0, the CLass to ANY, the
RDLENGTH to 0 and the RDATA MUST be empty.
The control channel between the HNA and the DM MUST be secured at
both the HNA and the DM.
Secure protocols (like TLS RFC8446 / DTLS I-D.ietf-tls-dtls13) SHOULD
be used to secure the transactions between the DM and the HNA.
The advantage of TLS/DTLS is that this technology is widely deployed,
and most of the devices already embed TLS/DTLS libraries, possibly
also taking advantage of hardware acceleration.  Further, TLS/DTLS
provides authentication facilities and can use certificates to
mutually authenticate the DM and HNA at the application layer,
including available API.  On the other hand, using TLS/DTLS requires
implementing DNS exchanges over TLS/DTLS, as well as a new service
port.
The HNA SHOULD authenticate inbound connections from the DM using
standard mechanisms, such as a public certificate with baked-in root
certificates on the HNA, or via DANE {!RFC6698}}.  The HNA is
expected to be provisioned with a connection to the DM by the
manufacturer, or during some user-initiated onboarding process, see
hna-provisioning.
The DM SHOULD authenticate the HNA and check that inbound messages
are from the appropriate client.  The DM MAY use a self-signed CA
certificate mechanism per HNA, or public certificates for this
purpose.
IPsec RFC4301 and IKEv2 RFC7296 were considered.  They would need to
operate in transport mode, and the authenticated end points would
need to be visible to the applications, and this is not commonly
available at the time of this writing.
A pure DNS solution using TSIG and/or SIG(0) to authenticate message
was also considered.  hna-provisioning envisions one mechanism would
involve the end user, with a browser, signing up to a service
provider, with a resulting OAUTH2 token to be provided to the HNA.  A
way to translate this OAUTH2 token from HTTPS web space to DNS SIG(0)
space seems overly problematic, and so the enrollment protocol using
web APIs was determined to be easier to implement at scale.
Note also that authentication of message exchanges between the HNA
and the DM SHOULD NOT use the external IP address of the HNA to index
the appropriate keys.  As detailed in sec-renumbering, the IP
addresses of the DM and the Hidden Primary are subject to change, for
example while the network is being renumbered.  This means that the
necessary keys to authenticate transaction SHOULD NOT be indexed
using the IP address, and SHOULD be resilient to IP address changes.
This should apply to any OAUTH2 token produced as envisioned by hna-
provisioning.
Interface Binding: the Hidden Primary Server will almost certainly
listen on the WAN Interface, whereas a regular authoritative
server for the home network would listen on the internal home
network interface.
Limited exchanges: the purpose of the Hidden Primary Server is to
synchronize with the DM, not to serve any zones to end users, or
the public Internet.
As a result, exchanges are performed with specific nodes (the DM).
Further, exchange types are limited.  The only legitimate exchanges
are: NOTIFY initiated by the Hidden Primary and IXFR or AXFR
exchanges initiated by the DM.  On the other hand, regular
authoritative servers would respond to any hosts, and any DNS query
would be processed.  The HNA SHOULD filter IXFR/AXFR traffic and drop
traffic not initiated by the DM.  The HNA MUST listen for DNS on TCP
and UDP and MUST at least allow SOA lookups of the Homenet Zone.
The DM Synchronization Channel is used for communication between the
HNA and the DM for synchronizing the Public Homenet Zone.  Note that
the Control Channel and the Synchronization Channel are by
construction different channels even though there they MAY use the
same IP addresses.  In fact the Control Channel is set between the
HNA working as a client using port YYYY (a high range port) toward a
service provided by the MD at port XX (well known port).  On the
other hand, the Synchronization Channel is set between the DM working
as a client using port ZZZZ ( a high range port) toward a service a
service provided by the HNA at port XX.  As a result, even though the
same couple of IP addresses may be involved the Control Channel and
the Synchronization Channel are always distinct channels.
Uploading and dynamically updating the zone file on the DM can be
seen as zone provisioning between the HNA (Hidden Primary) and the DM
(Secondary Server).  This can be handled via AXFR + DNS UPDATE.
This document RECOMMENDS use of a primary / secondary mechanism
instead of the use of DNS UPDATE.  The primary / secondary mechanism
is RECOMMENDED as it scales better and avoids DoS attacks.  Note that
even when UPDATE messages are used, these messages are using a
distinct channel as those used to set the configuration.
Note that there is no standard way to distribute a DNS primary
between multiple devices.  As a result, if multiple devices are
candidate for hosting the Hidden Primary, some specific mechanisms
should be designed so the home network only selects a single HNA for
the Hidden Primary.  Selection mechanisms based on HNCP RFC7788 are
good candidates.
The HNA acts as a Hidden Primary Server, which is a regular
authoritative DNS Server listening on the WAN interface.
The DM is configured as a secondary for the Homenet Domain Name.
This secondary configuration has been previously agreed between the
end user and the provider of the Outsourcing Infrastructure as part
of either the provisioning or due to receipt of UPDATE messages on
the DM Control Channel.
The Homenet Reverse Zone MAY also be updated either with DNS UPDATE
RFC2136 or using a primary / secondary synchronization.
The Synchronization Channel used standard DNS request.
First the primary notifies the secondary that the zone must be
updated and eaves the secondary to proceed with the update when
possible/ convenient.
Then, a NOTIFY message is sent by the primary, which is a small
packet that is less likely to load the secondary.
Finally, the AXFR RFC1034 or IXFR RFC1995 query performed by the
secondary is a small packet sent over TCP (section 4.2 RFC5936),
which mitigates reflection attacks using a forged NOTIFY.
The AXFR request from the DM to the HNA SHOULD be secured.  DNS over
TLS RFC7858 is RECOMMENDED.
The HNA MAY apply a simple IP filter on inbound AXFR requests to
ensure they only arrive from the DM Synchronization Channel.  In this
case, the HNA SHOULD regularly check (via DNS resolution) that the
address of the DM in the filter is still valid.
The DM Distribution Channel is used for communication between the DM
and the Public Authoritative Servers.  The architecture and
communication used for the DM Distribution Channels is outside the
scope of this document, and there are many existing solutions
available e.g. rsynch, DNS AXFR, REST, DB copy.
This section details security policies related to the Hidden Primary
/ Secondary synchronization.
The Hidden Primary, as described in this document SHOULD drop any
queries from the home network.  This could be implemented via port
binding and/or firewall rules.  The precise mechanism deployed is out
of scope of this document.  The Hidden Primary SHOULD drop any DNS
queries arriving on the WAN interface that are not issued from the
DM.  The Hidden Primary SHOULD drop any outgoing packets other than
DNS NOTIFY query, SOA response, IXFR response or AXFR responses.  The
Hidden Primary SHOULD drop any incoming packets other than DNS NOTIFY
response, SOA query, IXFR query or AXFR query.  The Hidden Primary
SHOULD drop any non protected IXFR or AXFR exchange,depending on how
the synchronization is secured.
RFC7368 in Section 3.7.3 recommends DNSSEC to be deployed on both the
authoritative server and the resolver.  The resolver side is out of
scope of this document, and only the authoritative part of the server
is considered.
This document assumes the HNA signs the Public Homenet Zone.
Secure delegation is achieved only if the DS RRset is properly set in
the parent zone.  Secure delegation is performed by the HNA or the
Outsourcing Infrastructures.
The DS RRset can be updated manually with nsupdate for example.  This
requires the HNA or the Outsourcing Infrastructure to be
authenticated by the DNS server hosting the parent of the Public
Homenet Zone.  Such a trust channel between the HNA and the parent
DNS server may be hard to maintain with HNAs, and thus may be easier
to establish with the Outsourcing Infrastructure.  In fact, the
Public Authoritative Server(s) may use Automating DNSSEC Delegation
Trust Maintenance RFC7344.
The Public Homenet Zone is associated to a Registered Homenet Domain
and the ownership of that domain requires a specific registration
from the end user as well as the HNA being provisioned with some
authentication credentials .  Such steps are mandatory unless the
Outsourcing Infrastructure has some other means to authenticate the
HNA.  Such situation may occur, for example, when the ISP provides
the Homenet Domain as well as the Outsourcing Infrastructure.  In
this case, the HNA may be authenticated by the physical link layer,
in which case the authentication of the HNA may be performed without
additional provisioning of the HNA.  While this may be not so common
for the Public Homenet Zone, this situation is expected to be quite
common for the Reverse Homenet Zone.
More specifically, a common case is that the upstream ISP provides
the IPv6 prefix to the Homenet with a IA_PD RFC8415 option and
manages the Outsourcing Infrastructure of the associated reverse
zone.  This leave place for setting up automatically the relation
between HNA and the Outsourcing infrastructure as described in I-
D.ietf-homenet-naming-architecture-dhc-options.
With this relation automatically configured, the synchronization
between the Home network and the Outsourcing infrastructure happens
similarly as for the Public Homenet Zone described earlier in this
document.
Note that for home networks hosted by multiple ISPs, each ISP
provides only the Outsourcing Infrastructure of the reverse zones
associated to the delegated prefix.  It is also likely that the DNS
exchanges will need to be performed on dedicated interfaces as to be
accepted by the ISP.  More specifically, the reverse zone associated
to prefix 1 will not be possible to be performs by the HNA using an
IP address that belongs to prefix 2.  Such constraints does not raise
major concerns either for hot standby or load sharing configuration.
With IPv6, the domain space for IP addresses is so large that reverse
zone may be confronted with scalability issues.  How the reverse zone
is generated is out of scope of this document.  I-D.howard-dnsop-
ip6rdns provides guidance on how to address scalability issues.
This document does not deal with how the HNA is provisioned with a
trusted relationship to the Distribution Master for the forward zone.
the HNA credentials used by the DM for its authentication.
The HNA will need to select an IP address for communication for the
Synchronization Channel.  This is typically the outside WAN address
of the router, but could be an IPv6 LAN address in the case of a home
with multiple ISPs (and multiple border routers).  This is
communicated in section BLAH when the NS and A record is
communicated.
The above parameters MUST be be provisionined for ISP-specific
reverse zones, as per I-D.ietf-homenet-naming-architecture-dhc-
options.  ISP-specific forward zones MAY also be provisioned using I-
D.ietf-homenet-naming-architecture-dhc-options, but zones which are
not related to a specific ISP zone (such as with a DNS provider) must
be provisioned through other means.
Similarly, it the HNA is provided by a registrar, the HNA may be
given configured to end user.
In the absence of specific pre-established relation, these pieces of
information may be entered manually by the end user.  In order to
ease the configuration from the end user the following scheme may be
implemented.
The HNA may present the end user a web interface where it provides
the end user the ability to indicate the Registered Domain or the
registrar for example a preselected list.  Once the regsitrar has
been selected, the HNA redirects the end user to that registrar in
order to receive a access token.  The access token will enable the
HNA to retrieve the DM parameters associated to the Registered
Domain.  These parameters will include the credentials used by the
HNA to establish the Control and Synchronization Channels.
Such architecture limits the necessary steps to configure the HNA
from the end user.
This section details how renumbering is handled by the Hidden Primary
server or the DM.  Both types of renumbering are discussed i.e.
"make-before-break" and "break-before-make".
In the make-before-break renumbering scenario, the new prefix is
advertised, the network is configured to prepare the transition to
the new prefix.  During a period of time, the two prefixes old and
new coexist, before the old prefix is completely removed.  In the
break-before-make renumbering scenario, the new prefix is advertised
making the old prefix obsolete.
Renumbering has been extensively described in RFC4192 and analyzed in
RFC7010 and the reader is expected to be familiar with them before
reading this section.
In a renumbering scenario, the Hidden Primary is informed it is being
renumbered.  In most cases, this occurs because the whole home
network is being renumbered.  As a result, the Public Homenet Zone
will also be updated.  Although the new and old IP addresses may be
stored in the Public Homenet Zone, we recommend that only the newly
reachable IP addresses be published.
To avoid reachability disruption, IP connectivity information
provided by the DNS SHOULD be coherent with the IP plane.  In our
case, this means the old IP address SHOULD NOT be provided via the
DNS when it is not reachable anymore.  Let for example TTL be the TTL
associated with a RRset of the Public Homenet Zone, it may be cached
for TTL seconds.  Let T_NEW be the time the new IP address replaces
the old IP address in the Homenet Zone, and T_OLD_UNREACHABLE the
time the old IP is not reachable anymore.
In the case of the make-before-break, seamless reachability is
provided as long as T_OLD_UNREACHABLE - T_NEW > 2 * TTL.  If this is
not satisfied, then devices associated with the old IP address in the
home network may become unreachable for 2 * TTL - (T_OLD_UNREACHABLE
- T_NEW).  In the case of a break-before-make, T_OLD_UNREACHABLE =
T_NEW, and the device may become unreachable up to 2 * TTL.
Once the Public Homenet Zone file has been updated on the Hidden
Primary, the Hidden Primary needs to inform the Outsourcing
Infrastructure that the Public Homenet Zone has been updated and that
the IP address to use to retrieve the updated zone has also been
updated.  Both notifications are performed using regular DNS
exchanges.  Mechanisms to update an IP address provided by lower
layers with protocols like SCTP RFC4960, MOBIKE RFC4555 are not
considered in this document.
The Hidden Primary SHOULD inform the DM that the Public Homenet Zone
has been updated by sending a NOTIFY payload with the new IP address.
In addition, this NOTIFY payload SHOULD be authenticated using SIG(0)
or TSIG.  When the DM receives the NOTIFY payload, it MUST
authenticate it.  Note that the cryptographic key used for the
authentication SHOULD be indexed by the Registered Homenet Domain
contained in the NOTIFY payload as well as the RRSIG.  In other
words, the IP address SHOULD NOT be used as an index.  If
authentication succeeds, the DM MUST also notice the IP address has
been modified and perform a reachability check before updating its
primary configuration.  The routability check MAY performed by
sending a SOA request to the Hidden Primary using the source IP
address of the NOTIFY.  This exchange is also secured, and if an
authenticated response is received from the Hidden Primary with the
new IP address, the DM SHOULD update its configuration file and
retrieve the Public Homenet Zone using an AXFR or a IXFR exchange.
Note that the primary reason for providing the IP address is that the
Hidden Primary is not publicly announced in the DNS.  If the Hidden
Primary were publicly announced in the DNS, then the IP address
update could have been performed using the DNS as described in sec-
secondary.
Renumbering of the Distribution Master results in it changing its IP
address.  As the DM is a secondary, the destination of DNS NOTIFY
payloads MUST be changed, and any configuration/firewalling that
restricts DNS AXFR/IXFR operations MUST be updated.
If the DM is configured in the Hidden Primary configuration file
using a FQDN, then the update of the IP address is performed by DNS.
More specifically, before sending the NOTIFY, the Hidden Primary
performs a DNS resolution to retrieve the IP address of the
secondary.
As described in sec-primary, the DM DNS information SHOULD be
coherent with the IP plane.  The TTL of the Distribution Master name
SHOULD be adjusted appropriately prior to changing the IP address.
Some DNS infrastructure uses the IP address to designate the
secondary, in which case, other mechanisms must be found.  The reason
for using IP addresses instead of names is generally to reach an
internal interface that is not designated by a FQDN, and to avoid
potential bootstrap problems.  Such scenarios are considered as out
of scope in the case of home networks.
Outsourcing the DNS Authoritative service from the HNA to a third
party raises a few privacy related concerns.
The Public Homenet Zone lists the names of services hosted in the
home network.  Combined with blocking of AXFR queries, the use of
NSEC3 RFC5155 (vs NSEC RFC4034) prevents an attacker from being able
to walk the zone, to discover all the names.  However, the attacker
may be able to walk the reverse DNS zone, or use other reconnaissance
techniques to learn this information as described in RFC7707.
In general a home owner is expected only to publish names for which
there is some need to be able to reference externally.  Publication
of the name does not imply that the service is necessarily reachable
from any or all parts of the Internet.  RFC7084 mandates that the
outgoing-only policy RFC6092 be available, and in many cases it is
configured by default.  A well designed User Interface would combine
a policy for making a service public by a name with a policy on who
may access it.
In many cases, the home owner wishes to publish names for services
that only they will be able to access.  The access control may
consist of an IP source address range, or access may be restricted
via some VPN functionality.  The purpose of publishing the name is so
that the service may be access by the same name both within the home,
and outside the home.  Sending traffic to the relevant IPv6 address
causes the relevant VPN policy to be enacted upon.
While the problem of getting access to internal names has been solved
in Enterprise configurations with a split-DNS, and such a thing could
be done in the home, many recent improvements to VPN user interfaces
make it more likely that an individual might have multiple
connections configured.  For instance, an adult child checking on the
state of a home automation system for a parent.
In addition to the Public Homenet Zone, pervasive DNS monitoring can
also monitor the traffic associated with the Public Homenet Zone.
This traffic may provide an indication of the services an end user
accesses, plus how and when they use these services.  Although,
caching may obfuscate this information inside the home network, it is
likely that outside your home network this information will not be
cached.
The Homenet Naming Architecture described in this document solves
exposing the HNA's DNS service as a DoS attack vector.
The HNA DM channels are specified to include their own security
mechanisms that are designed to provide the minimum attack surface,
and to authenticate transactions where necessary.
Note that in the case of the Reverse Homenet Zone, the data is less
subject to attacks than in the Public Homenet Zone.  In addition, the
HNA and the DM MAY belong to the same administrative domain, i.e. the
ISP.  More specifically, the WAN interface is located in the ISP
network.  As a result, if provisioned using DHCPv6, the security
credential may not even transit in the home network.  On the other
hand, if the HNA is not hosted at the border of the home network, the
credential may rely on the security associated to DHCPv6.  Even if
HNA and DM are in the same administrative domain it is strongly
RECOMMENDED to use a secure channel.
The security of these channels heavily relies on TLS and the DM or
RDM is authenticated by its certificate.  To ensure the multiple TLS
session are are continuously authenticating the same entity, TLS may
take advantage of second factor authentication as described in
RFC8672.
This document describes how an end user can make their services and
devices from his home network reachable on the Internet by using
names rather than IP addresses.  This exposes the home network to
attackers, since names are expected to include less entropy than IP
addresses.  In fact, with IP addresses, the Interface Identifier is
64 bits long leading to up to 2^64 possibilities for a given
subnetwork.  This is not to mention that the subnet prefix is also of
64 bits long, thus providing up to 2^64 possibilities.  On the other
hand, names used either for the home network domain or for the
devices present less entropy (livebox, router, printer, nicolas,
jennifer, ...) and thus potentially exposes the devices to dictionary
attacks.
IP addresses may be used to locate a device, a host or a service.
However, home networks are not expected to be assigned a time
invariant prefix by ISPs.  As a result, observing IP addresses only
provides some ephemeral information about who is accessing the
service.  On the other hand, names are not expected to be as volatile
as IP addresses.  As a result, logging names over time may be more
valuable than logging IP addresses, especially to profile an end
user's characteristics.
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 end users may choose not to respond to PTR DNS queries
and MAY instead return a NXDOMAIN response.
An attacker performs a reflection attack when it sends traffic to one
or more intermediary nodes (reflectors), that in turn send back
response traffic to the victim.  Motivations for using an
intermediary node might be anonymity of the attacker, as well as
amplification of the traffic.  Typically, when the intermediary node
is a DNSSEC server, the attacker sends a DNSSEC query and the victim
is likely to receive a DNSSEC response.  This section analyzes how
the different components may be involved as a reflector in a
reflection attack.  sec-reflection-hidden-primary considers the
Hidden Primary, sec-reflection-public-auth-name-server-set the
Synchronization Server, and sec-reflection-public-primary the Public
Authoritative Server(s).
With the specified architecture, the Hidden Primary is only expected
to receive DNS queries of type SOA, AXFR or IXFR.  This section
analyzes how these DNS queries may be used by an attacker to perform
a reflection attack.
DNS queries of type AXFR and IXFR use TCP and as such are less
subject to reflection attacks.  This makes SOA queries the only
remaining practical vector of attacks for reflection attacks, based
on UDP.
SOA queries are not associated with a large amplification factor
compared to queries of type "ANY" or to query of non existing FQDNs.
This reduces the probability a DNS query of type SOA will be involved
in a DDoS attack.
SOA queries are expected to follow a very specific pattern, which
makes rate limiting techniques an efficient way to limit such
attacks, and associated impact on the naming service of the home
network.
Motivations for such a flood might be a reflection attack, but could
also be a resource exhaustion attack performed against the Hidden
Primary.  The Hidden Primary only expects to exchange traffic with
the DM, that is its associated secondary.  Even though secondary
servers may be renumbered as mentioned in sec-renumbering, the Hidden
Primary is likely to perform a DNSSEC resolution and find out the
associated secondary's IP addresses in use.  As a result, the Hidden
Primary is likely to limit the origin of its incoming traffic based
on the origin IP address.
With filtering rules based on IP address, SOA flooding attacks are
limited to forged packets with the IP address of the secondary
server.  In other words, the only victims are the Hidden Primary
itself or the secondary.  There is a need for the Hidden Primary to
limit that flood to limit the impact of the reflection attack on the
secondary, and to limit the resource needed to carry on the traffic
by the HNA hosting the Hidden Primary.  On the other hand, mitigation
should be performed appropriately, so as to limit the impact on the
legitimate SOA sent by the secondary.
The main reason for the DM sending a SOA query is to update the SOA
RRset after the TTL expires, to check the serial number upon the
receipt of a NOTIFY query from the Hidden Primary, or to re-send the
SOA request when the response has not been received.  When a flood of
SOA queries is received by the Hidden Primary, the Hidden Primary may
assume it is involved in an attack.
There are few legitimate time slots when the secondary is expected to
send a SOA query.  Suppose T_NOTIFY is the time a NOTIFY is sent by
the Hidden Primary, T_SOA the last time the SOA has been queried, TTL
the TTL associated to the SOA, and T_REFRESH the refresh time defined
in the SOA RRset.  The specific time SOA queries are expected can be
for example T_NOTIFY, T_SOA + 2/3 TTL, T_SOA + TTL, T_SOA +
T_REFRESH., and.  Outside a few minutes following these specific time
slots, the probability that the HNA discards a legitimate SOA query
is very low.  Within these time slots, the probability the secondary
may have its legitimate query rejected is higher.  If a legitimate
SOA is discarded, the secondary will re-send SOA query every "retry
time" second until "expire time" seconds occurs, where "retry time"
and "expire time" have been defined in the SOA.
As a result, it is RECOMMENDED to set rate limiting policies to
protect HNA resources.  If a flood lasts more than the expired time
defined by the SOA, it is RECOMMENDED to re-initiate a
synchronization between the Hidden Primary and the secondaries.
The DM acts as a secondary coupled with the Hidden Primary.  The
secondary expects to receive NOTIFY query, SOA responses, AXFR and
IXFR responses from the Hidden Primary.
Sending a NOTIFY query to the secondary generates a NOTIFY response
as well as initiating an SOA query exchange from the secondary to the
Hidden Primary.  As mentioned in RFC1996, this is a known "benign
denial of service attack".  As a result, the DM SHOULD enforce rate
limiting on sending SOA queries and NOTIFY responses to the Hidden
Primary.  Most likely, when the secondary is flooded with valid and
signed NOTIFY queries, it is under a replay attack which is discussed
in sec-replay-attack.  The key thing here is that the secondary is
likely to be designed to be able to process much more traffic than
the Hidden Primary hosted on a HNA.
This paragraph details how the secondary may limit the NOTIFY
queries.  Because the Hidden Primary may be renumbered, the secondary
SHOULD NOT perform permanent IP filtering based on IP addresses.  In
addition, a given secondary may be shared among multiple Hidden
Primaries which make filtering rules based on IP harder to set.  The
time at which a NOTIFY is sent by the Hidden Primary is not
predictable.  However, a flood of NOTIFY messages may be easily
detected, as a NOTIFY originated from a given Homenet Zone is
expected to have a very limited number of unique source IP addresses,
even when renumbering is occurring.  As a result, the secondary, MAY
rate limit incoming NOTIFY queries.
On the Hidden Primary side, it is recommended that the Hidden Primary
sends a NOTIFY as long as the zone has not been updated by the
secondary.  Multiple SOA queries may indicate the secondary is under
attack.
Reflection attacks involving the Public Authoritative Server(s) are
similar to attacks on any Outsourcing Infrastructure.  This is not
specific to the architecture described in this document, and thus are
considered as out of scope.
In fact, one motivation of the architecture described in this
document is to expose the Public Authoritative Server(s) to attacks
instead of the HNA, as it is believed that the Public Authoritative
Server(s) will be better able to defend itself.
The purpose of flooding attacks is mostly resource exhaustion, where
the resource can be bandwidth, memory, or CPU for example.
One goal of the architecture described in this document is to limit
the surface of attack on the HNA.  This is done by outsourcing the
DNS service to the Public Authoritative Server(s).  By doing so, the
HNA limits its DNS interactions between the Hidden Primary and the
DM.  This limits the number of entities the HNA interacts with as
well as the scope of DNS exchanges - NOTIFY, SOA, AXFR, IXFR.
In order to limit the resource required for authentication, it is
recommended to use TSIG that uses symmetric cryptography over SIG(0)
that uses asymmetric cryptography.
Replay attacks consist of an attacker either resending or delaying a
legitimate message that has been sent by an authorized user or
process.  As the Hidden Primary and the DM use an authenticated
channel, replay attacks are mostly expected to use forged DNS queries
in order to provide valid traffic.
From the perspective of an attacker, using a correctly authenticated
DNS query may not be detected as an attack and thus may generate a
response.  Generating and sending a response consumes more resources
than either dropping the query by the defender, or generating the
query by the attacker, and thus could be used for resource exhaustion
attacks.  In addition, as the authentication is performed at the DNS
layer, the source IP address could be impersonated in order to
perform a reflection attack.
sec-reflection-attack details how to mitigate reflection attacks and
sec-flooding-attack details how to mitigate resource exhaustion.
Both sections assume a context of DoS with a flood of DNS queries.
This section suggests a way to limit the attack surface of replay
attacks.
As SIG(0) and TSIG use inception and expiration time, the time frame
for replay attack is limited.  SIG(0) and TSIG recommends a fudge
value of 5 minutes.  This value has been set as a compromise between
possibly loose time synchronization between devices and the valid
lifetime of the message.  As a result, better time synchronization
policies could reduce the time window of the attack.
Here goes a YANG MODULE description of the above.