GEOPRIV                                                       M. Thomson
Internet-Draft                                           J. Winterbottom
Intended status: Standards Track                                  Andrew
Expires: April 16, 2007                                 October 13, 2006


                  U-NAPTR Discovery for HELD Services
                draft-thomson-geopriv-held-unaptr-00.txt

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on April 16, 2007.

Copyright Notice

   Copyright (C) The Internet Society (2006).














Thomson & Winterbottom   Expires April 16, 2007                 [Page 1]


Internet-Draft                HELD U-NAPTR                  October 2006


Abstract

   A method is described where URI-enabled NAPTR (U-NAPTR) is applied to
   the discovery of a local Location Information Server (LIS).  This
   document defines an Application Service for a LIS, with a specific
   Application Protocol for the HTTP Enabled Location Delivery (HELD)
   protocol.  This document also discusses several solutions that enable
   this method where Network Address Translation (NAT) devices are
   employed.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Terminology  . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  U-NAPTR for LIS Discovery  . . . . . . . . . . . . . . . . . .  4
   3.  Determining the Access Network Domain Name . . . . . . . . . .  5
     3.1.  DHCP Domain Name Option  . . . . . . . . . . . . . . . . .  5
     3.2.  Reverse DNS  . . . . . . . . . . . . . . . . . . . . . . .  5
       3.2.1.  Determining an External IP Address . . . . . . . . . .  6
   4.  Security Considerations  . . . . . . . . . . . . . . . . . . .  8
   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  9
     5.1.  Registration of a Location Server Application Service
           Tag  . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     5.2.  Registration of a Location Server Application Protocol
           Tag  . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
   6.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
     6.1.  Normative References . . . . . . . . . . . . . . . . . . . 10
     6.2.  Informative References . . . . . . . . . . . . . . . . . . 10
   Appendix A.  Acknowledgements  . . . . . . . . . . . . . . . . . . 12
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
   Intellectual Property and Copyright Statements . . . . . . . . . . 14



















Thomson & Winterbottom   Expires April 16, 2007                 [Page 2]


Internet-Draft                HELD U-NAPTR                  October 2006


1.  Introduction

   Discovering a Location Information Server (LIS) is an important part
   of the location acquisition process.  Discovery is used to establish
   a relationship between a LIS and its client.  This document describes
   a method where the client uses the DNS to discover a URI for a LIS.

   Unlike protocols that use TCP or UDP directly, HELD is built on a
   higher layer protocol, which means that a LIS server requires more
   specific identification that a hostname or hostname/port.  URI-
   enabled NAPTR (U-NAPTR) [I-D.daigle-unaptr] describes a
   straightforward method of applying the Dynamic Delegation Discovery
   Service (DDDS) for URI results.

   This document describes how U-NAPTR resolution can be used to
   discover the LIS URI.  For this DDDS application, an Application
   Service tag "LIS" and an Application Protocol tag "HELD" are created
   and registered with the IANA.  Taking a domain name, this U-NAPTR
   application uses the two tags to determine the LIS URI.

   Determining the domain name to be used is a critical part of the
   resolution process.  The second part of this document describes how a
   domain name can be derived.  Several methods are described that
   address different scenarios.

1.1.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

   This document uses the terms "access network" to refer to the network
   that a host connects to for Internet access.  The "access network
   provider" is the entity that operates the access network.  The access
   network provider is responsible for allocating the host an IP address
   and for directly or indirectly providing a LIS service.















Thomson & Winterbottom   Expires April 16, 2007                 [Page 3]


Internet-Draft                HELD U-NAPTR                  October 2006


2.  U-NAPTR for LIS Discovery

   U-NAPTR resolution for a LIS takes a domain name as input and
   produces a URI that identifies the LIS.  This process also requires
   an Application Service tag and an Application Protocol tag, which
   differentiate LIS-related NAPTR records from other records for that
   domain.

   Section 5.1 defines an Application Service tag of "LIS", which is
   used to identify the location service for a particular domain.  The
   Application Protocol tag "HELD", defined in Section 5.2, is used to
   identify a LIS that understands the HELD protocol
   [I-D.winterbottom-http-location-delivery].

   The NAPTR records in the following example demonstrate the use of the
   Application Service and Protocol tags.  Iterative NAPTR resolution is
   used to delegate responsibility for the LIS service from
   "zonea.example.com" and "zoneb.example.com" to "example.com".

      zonea.example.com.
      ;;       order pref flags
      IN NAPTR 100   10   ""  "LIS:HELD" (         ; service
          ""                                       ; regex
          example.com.                             ; replacement
          )
      zoneb.example.com.
      ;;       order pref flags
      IN NAPTR 100   10   ""  "LIS:HELD" (         ; service
          ""                                       ; regex
          example.com.                             ; replacement
          )
      example.com.
      ;;       order pref flags
      IN NAPTR 100   10   "u"  "LIS:HELD" (        ; service
          "!*.!https://lis.example.com/!"          ; regex
          .                                        ; replacement
          )


   Details for the "LIS" Application Service tag and the "HELD"
   Application Protocol tag are included in Section 5.










Thomson & Winterbottom   Expires April 16, 2007                 [Page 4]


Internet-Draft                HELD U-NAPTR                  October 2006


3.  Determining the Access Network Domain Name

   The U-NAPTR discovery method described in Section 2 requires that the
   domain name applicable to the access network is known.  An
   unconfigured host might not have this information, therefore it must
   determine this value before the U-NAPTR method can be attempted.

   This section describes several methods for discovering a domain name
   for the local access network.  Each method should be attempted where
   applicable until a domain name is derived.  If a domain name is
   successfully derived but that domain name does not produce any
   U-NAPTR records, alternative methods can be attempted.  Reattempting
   with different methods is particularly applicable when NAT is used,
   as is shown in Section 3.2.1.

3.1.  DHCP Domain Name Option

   For IP version 4, Dynamic Host Configuration Protocol (DHCP) option
   15 [RFC2131] includes the domain name suffix for the host.  If DHCP
   and option 15 are available, this value should be used as input the
   U-NAPTR procedure.

   DHCP version 6 does not provide a single domain name suffix; instead
   a fully qualified domain name (FQDN) for the client is provided in
   option 39 [I-D.ietf-dhc-dhcpv6-fqdn].  The domain name used as input
   to the U-NAPTR resolution is derived from the FQDN by removing the
   first label.

   Either DHCP method SHOULD be attempted first if DHCP is available.

3.2.  Reverse DNS

   DNS "PTR" records in the "in-addr.arpa." domain can be used to
   determine the domain name of a host, and therefore, the name of the
   domain for that host.  The use of the "in-addr.arpa." domain is
   described in [RFC1034] and results in the domain name of the host.
   Likewise, IPv6 hosts use the "ip6.arpa." domain.  In the majority of
   cases, the domain part of this name (everything excluding the first
   label) is also the domain name for the access network.  Assuming that
   this is true, this domain name can be used as input to the U-NAPTR
   process.

   For example, if the for "10.1.2.3" address, if the "PTR" record at
   "3.2.1.10.in-addr.arpa." refers to "host.example.com", this results
   in a U-NAPTR search for "example.com".

   The DNS hierarchy does not necessarily directly map onto a network
   topology (see [RFC4367]; therefore, this method MUST only be used for



Thomson & Winterbottom   Expires April 16, 2007                 [Page 5]


Internet-Draft                HELD U-NAPTR                  October 2006


   the domain name determined by removing the first label only.  This
   method assumes that the access network provider also provides the
   reverse DNS record and they control the domain that is indicated in
   the "PTR" record.

   Furthermore, this method might not apply where a host is given a
   domain name that is different from the domain name of the access
   network.  This might occur in some hosting configurations, such as
   where a number of web server hosts, with widely varying domain names,
   are co-located.  From the above example, the access network provider
   allocated "10.1.2.3" to the host; therefore, they also need to
   control the DNS domain "example.com" and the associated NAPTR
   records.  DNS Security Extensions (DNSSEC) [RFC4033] provides a
   cryptographic means of validating this association, through data
   origin authentication.

3.2.1.  Determining an External IP Address

   Reverse DNS relies on knowing the IP address of a host within the
   access domain.  Initially, this SHOULD be attempted using the IP
   address that is assigned to a local interface on the host.  However,
   when a NAT device is used, the IP address of the NAT device is
   substituted for the source IP address.  If a NAT device exists
   between the host and the access network, the host does not have any
   direct way to determine the IP address that it is effectively using
   within the access network.  The IP address of the NAT device and the
   corresponding domain name can be used to discover the LIS.

   In order to use reverse DNS in this configuration, the hosts need to
   know the IP address that the NAT device uses.  The following sections
   describe some possible methods.

   These methods are particularly useful in residential broadband
   configurations.  A large proportion of residential broadband services
   employ a NAT device so that several hosts can share the same Internet
   access.  Since the network behind the NAT device are generally very
   small, both in numbers and geographical area, it isn't necessary for
   a LIS to operate within that network; the hosts are able to access a
   LIS in the access network outside of the NAT device.

3.2.1.1.  UPnP

   If a NAT device complies with the Universal Plug and Play (UPnP)
   specification [UPnP-IGD-WANIPConnection1], the WANIPConnection part
   can be used to query the device for its public IP address.  The
   "GetExternalIPAddress" function provides the external address for a
   particular network connection.




Thomson & Winterbottom   Expires April 16, 2007                 [Page 6]


Internet-Draft                HELD U-NAPTR                  October 2006


   UPnP defines a method for discovering UPnP-enabled hosts in a
   network; the host does not need any prior configuration.

3.2.1.2.  STUN

   A host can use the Simple Traversal of UDP NATs (STUN)
   [I-D.ietf-behave-rfc3489bis] to determine a public IP address.
   "Binding Request" message and the resulting "MAPPED-ADDRESS" that is
   returned in the response.

   Using STUN requires cooperation from a publicly accessible STUN
   server.  A domain name needs to be configured at the host for STUN
   server discovery.

3.2.1.3.  Other Options

   The source IP address in any IP packet can be used to determine the
   public IP address of a host.  While the STUN method uses a small part
   of a more sophisticated protocol, this principle can be applied using
   any other protocol.  Like STUN, this method requires prior knowledge
   of the publicly accessible server and the method that it supports.

   For instance, a publicly accessible host could be configured to
   respond to a UDP packet on a predefined port; the data of the
   response could contain the source IP address that was in the request.

   Alternatively, a HTTP server at a particular URL could be configured
   to respond to a GET request with a "text/plain" body containing the
   IP address of the requester.  Note that transparent HTTP proxies
   might affect the results of this method.





















Thomson & Winterbottom   Expires April 16, 2007                 [Page 7]


Internet-Draft                HELD U-NAPTR                  October 2006


4.  Security Considerations

   The primary attack against the methods described in this document is
   one that would lead to impersonation of a LIS.  An attacker could
   attempt to compromise the U-NAPTR resolution.  A description of the
   security considerations for U-NAPTR applications is included in
   [I-D.daigle-unaptr].

   In addition to considerations related to U-NAPTR, it is important to
   recognize that the output of this is entirely dependent on its input.
   An attacker who can control the domain name can also control the
   final URI.  Because a number of methods are provided for determining
   the domain name, a host implementation needs to consider attacks
   against each of the methods that are used.

   If DHCP is used, the integrity of DHCP options is limited by the
   security of the channel over which they are provided.  Physical
   security and separation of DHCP messages from other packets are
   commonplace methods that can reduce the possibility of attack within
   an access network; alternatively, DHCP authentication [RFC3118] can
   provide a degree of protection against modification.

   Reverse DNS is subject to the maintenance of the "in-addr.arpa." or
   "ip6.arpa." domain and the integrity of the results that it provides.
   DNSSEC [RFC4033] provides some measures that can improve the
   reliability of DNS results.  In particular, DNSSEC SHOULD be applied
   to ensure that the reverse DNS record and the resulting domain are
   provided by the same entity before this method is used.  Without this
   assurance, the host cannot be certain that the access network
   provider has provided the NAPTR record for the domain name that is
   provided.

   Hosts behind NAT devices are also subject to attacks when retrieving
   their public IP address.  [I-D.ietf-behave-rfc3489bis] describes some
   means of mitigating this attack for STUN.
















Thomson & Winterbottom   Expires April 16, 2007                 [Page 8]


Internet-Draft                HELD U-NAPTR                  October 2006


5.  IANA Considerations

5.1.  Registration of a Location Server Application Service Tag

   This section registers a new S-NAPTR/U-NAPTR Application Service tag
   for a LIS, as mandated by [RFC3958].

   Application Service Tag:  LIS

   Intended usage:  Identifies a service that provides a host with its
      location information.

   Defining publication:  XXXX

   Related publications:  HELD [I-D.winterbottom-http-location-delivery]

   Contact information:  The authors of this document

   Author/Change controller:  The IESG

5.2.  Registration of a Location Server Application Protocol Tag

   This section registers a new S-NAPTR/U-NAPTR Application Protocol tag
   for the HELD [I-D.winterbottom-http-location-delivery] protocol, as
   mandated by [RFC3958].

   Application Service Tag:  HELD

   Intended Usage:  Identifies the HELD protocol.

   Applicable Service Tag(s):  LIS

   Terminal NAPTR Record Type(s):  U

   Defining Publication:  XXXX

   Related Publications:  HELD [I-D.winterbottom-http-location-delivery]

   Contact Information:  The authors of this document

   Author/Change Controller:  The IESG










Thomson & Winterbottom   Expires April 16, 2007                 [Page 9]


Internet-Draft                HELD U-NAPTR                  October 2006


6.  References

6.1.  Normative References

   [RFC1034]  Mockapetris, P., "Domain names - concepts and facilities",
              STD 13, RFC 1034, November 1987.

   [RFC2131]  Droms, R., "Dynamic Host Configuration Protocol",
              RFC 2131, March 1997.

   [I-D.daigle-unaptr]
              Daigle, L., "Domain-based Application Service Location
              Using URIs and the Dynamic  Delegation Discovery Service
              (DDDS)", draft-daigle-unaptr-00 (work in progress),
              June 2006.

   [I-D.ietf-dhc-dhcpv6-fqdn]
              Volz, B., "The DHCPv6 Client FQDN Option",
              draft-ietf-dhc-dhcpv6-fqdn-05 (work in progress),
              March 2006.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

6.2.  Informative References

   [RFC3118]  Droms, R. and W. Arbaugh, "Authentication for DHCP
              Messages", RFC 3118, June 2001.

   [RFC3958]  Daigle, L. and A. Newton, "Domain-Based Application
              Service Location Using SRV RRs and the Dynamic Delegation
              Discovery Service (DDDS)", RFC 3958, January 2005.

   [RFC4033]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "DNS Security Introduction and Requirements",
              RFC 4033, March 2005.

   [RFC4367]  Rosenberg, J. and IAB, "What's in a Name: False
              Assumptions about DNS Names", RFC 4367, February 2006.

   [I-D.ietf-behave-rfc3489bis]
              Rosenberg, J., "Simple Traversal Underneath Network
              Address Translators (NAT) (STUN)",
              draft-ietf-behave-rfc3489bis-04 (work in progress),
              July 2006.

   [I-D.winterbottom-http-location-delivery]
              Winterbottom, J., "HTTP Enabled Location Delivery (HELD)",



Thomson & Winterbottom   Expires April 16, 2007                [Page 10]


Internet-Draft                HELD U-NAPTR                  October 2006


              draft-winterbottom-http-location-delivery-03 (work in
              progress), May 2006.

   [UPnP-IGD-WANIPConnection1]
              UPnP Forum, "Internet Gateway Device (IGD) Standardized
              Device Control Protocol V 1.0: WANIPConnection:1 Service
              Template Version 1.01 For UPnP Version 1.0", DCP 05-001,
              Nov 2001.











































Thomson & Winterbottom   Expires April 16, 2007                [Page 11]


Internet-Draft                HELD U-NAPTR                  October 2006


Appendix A.  Acknowledgements

   The authors would like to thank Leslie Daigle for her work on
   U-NAPTR; Peter Koch for his feedback on the DNS aspects of this
   document; and ...














































Thomson & Winterbottom   Expires April 16, 2007                [Page 12]


Internet-Draft                HELD U-NAPTR                  October 2006


Authors' Addresses

   Martin Thomson
   Andrew
   PO Box U40
   Wollongong University Campus, NSW  2500
   AU

   Phone: +61 2 4221 2915
   Email: martin.thomson@andrew.com
   URI:   http://www.andrew.com/


   James Winterbottom
   Andrew
   PO Box U40
   Wollongong University Campus, NSW  2500
   AU

   Phone: +61 2 4221 2938
   Email: james.winterbottom@andrew.com
   URI:   http://www.andrew.com/





























Thomson & Winterbottom   Expires April 16, 2007                [Page 13]


Internet-Draft                HELD U-NAPTR                  October 2006


Full Copyright Statement

   Copyright (C) The Internet Society (2006).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Acknowledgment

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).





Thomson & Winterbottom   Expires April 16, 2007                [Page 14]