<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
 <!ENTITY RFC3693 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3693.xml'>
 <!ENTITY RFC3489 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3489.xml'>
 <!ENTITY I-D.ietf-geopriv-lbyr-requirements PUBLIC ''
 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-geopriv-lbyr-requirements.xml'>
 <!ENTITY I-D.ietf-ecrit-requirements PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-ecrit-requirements.xml'>
 <!ENTITY RFC4361 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4361.xml'>
 <!ENTITY RFC3972 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3972.xml'>
 <!ENTITY RFC3588 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3588.xml'>
 <!ENTITY RFC2865 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2865.xml'>
 <!ENTITY RFC4282 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4282.xml'>
 <!ENTITY I-D.ietf-hip-base PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-hip-base.xml'>
 <!ENTITY I-D.ietf-nsis-nslp-natfw PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-nsis-nslp-natfw.xml'>
 <!ENTITY RFC4795 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4795.xml'>
 <!ENTITY I-D.cheshire-dnsext-multicastdns PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.cheshire-dnsext-multicastdns.xml'>
 <!ENTITY I-D.barnes-geopriv-lo-sec PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.barnes-geopriv-lo-sec.xml'>
 <!ENTITY I-D.winterbottom-geopriv-lis2lis-req PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.winterbottom-geopriv-lis2lis-req.xml'>
 <!ENTITY I-D.thomson-geopriv-lis-discovery PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.thomson-geopriv-lis-discovery.xml'>
 <!ENTITY I-D.nward-v6ops-teredo-server-selection PUBLIC ''
 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.nward-v6ops-teredo-server-selection.xml'>
 <!ENTITY RFC2113 PUBLIC ''
 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2113.xml'>
 <!ENTITY RFC4119 PUBLIC ''
 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4119.xml'>
 <!ENTITY RFC3068 PUBLIC ''
 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3068.xml'>
 <!ENTITY I-D.ietf-geopriv-pdif-lo-profile PUBLIC ''
 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-geopriv-pdif-lo-profile.xml'>
 <!ENTITY RFC4479 PUBLIC ''
 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4479.xml'>
 
]>

<?rfc inline="yes"?>
<?rfc toc="yes" ?>
<?rfc tocdepth="2" ?> 
<?rfc symrefs="no" ?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>
<?rfc compact="no" ?>
<?rfc sortrefs="yes" ?>
<?rfc colonspace='yes' ?>

<rfc category="info" ipr="full3978" docName="draft-ietf-geopriv-l7-lcp-ps-08.txt">
  <front>
    <title abbrev="Geopriv L7 LCP; Problem Statement">GEOPRIV Layer 7 Location Configuration
      Protocol; Problem Statement and Requirements</title>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization>Nokia Siemens Networks</organization>
      <address>
        <postal>
          <street>Linnoitustie 6</street>
          <city>Espoo</city>
          <code>02600</code>
          <country>Finland</country>
        </postal>
        <phone>+358 (50) 4871445</phone>
        <email>Hannes.Tschofenig@gmx.net</email>
        <uri>http://www.tschofenig.priv.at</uri>
      </address>
    </author>
    
    <author initials="H." surname="Schulzrinne" fullname="Henning Schulzrinne">
      <organization>Columbia University</organization>
      <address>
        <postal>
          <street>Department of Computer Science</street>
          <street>450 Computer Science Building</street>
          <city>New York</city>
          <region>NY</region>
          <code>10027</code>
          <country>US</country>
        </postal>
        <phone>+1 212 939 7004</phone>
        <email>hgs+ecrit@cs.columbia.edu</email>
        <uri>http://www.cs.columbia.edu</uri>
      </address>
    </author>
    <date year="2008"/>
    <abstract>
      <t>This document provides a problem statement, lists requirements and captures design aspects
        for a Geopriv Layer 7 Location Configuration Protocol L7 (LCP). This protocol aims to allow
        an end host to obtain location information, by value or by reference, from a Location
        Information Server (LIS) that is located in the access network. The obtained location
        information can then be used for a variety of different protocols and purposes. For example,
        it can be used as input to the Location-to-Service Translation Protocol (LoST) or to convey
        location within SIP to other entities.</t>
    </abstract>
  </front>
  <middle>
    <!-- **************************************************************************************** -->
    <section title="Introduction">
      <t>This document provides a problem statement, lists requirements and captures design aspects
        for a Geopriv Layer 7 Location Configuration Protocol L7 (LCP). The protocol has two
        purposes:</t>
      <t>
        <list style="symbols">
          <t>It is used to obtain location information (referred as "Location by Value" or LbyV)
            from a dedicated node, called the Location Information Server (LIS).</t>
          <t>It enables the Target to obtain a reference to location information (referred as
            "Location by Reference" or LbyR). This reference can take the form of a subscription
            URI, such as a SIP presence URI, a HTTP/HTTPS URI, or another URI. The requirements
            related to the task of obtaining a LbyR are described in a separate document, see <xref
              target="I-D.ietf-geopriv-lbyr-requirements"/>.</t>
        </list>The need for these two functions can be derived from the scenarios presented in <xref
          target="scenarios"/>. </t>
      <t>For this document we assume that the GEOPRIV Layer 7 LCP runs between the end host (i.e.,
        the Target in <xref target="RFC3693"/> terminology) and the LIS.</t>
      <t>This document is structured as follows. <xref target="discovery"/> discusses the challenge
        of discovering the LIS in the access network. <xref target="identifier"/> compares different
        types of identifiers that can be used to retrieve location information. A list of
        requirements for the L7 LCP can be found in <xref target="requirements"/>. </t>
      <t>This document does not describe how the access network provider determines the location of
        the end host since this is largely a matter of the capabilities of specific link layer
        technologies or certain deployment environments.</t>
    </section>
    <!-- **************************************************************************************** -->
    <section title="Terminology">
      <t>In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as
        described in RFC 2119 <xref target="RFC2119"/>, with the qualification that unless otherwise
        stated these words apply to the design of the GEOPRIV Layer 7 Location Configuration
        Protocol.</t>
      <t> The term Location Information Server (LIS) refers to an entity capable of determining the
        location of a Target and of providing that location information, a reference to it, or both
        via the Location Configuration Protocol (LCP) to the requesting party. In most cases the
        requesting party is the Target itself but it may also be an authorized entity that acts on
        behalf of it, such as a SIP proxy or another LIS.</t>
      <t>This document also uses terminology from <xref target="RFC3693"/> (such as Target) and
          <xref target="I-D.ietf-ecrit-requirements"/> (such as Internet Access Provider (IAP),
        Internet Service Provider (ISP), and Application Service Provider (ASP)).</t>
      <t>With the term "Access Network Provider" we refer to the Internet Access Provider (IAP) and
        the Internet Service Provider (ISP) without further distinguishing these two entities as it
        is not relevant for the purpose of this document. An additional requirements document on
        LIS-to-LIS <xref target="I-D.winterbottom-geopriv-lis2lis-req"/> shows scenario where the
        separation between IAP and ISP is important.</t>
    </section>
    <!-- **************************************************************************************** -->
    <section anchor="scenarios" title="Scenarios">
      <t>This section describes a few network scenarios where the L7 LCP may be used. Note that this
        section does not aim to exhaustively list all possible deployment environments. Instead we
        focus on the following environments:</t>
      <t>
        <list style="symbols">
          <t>DSL/Cable networks, WiMax-like fixed access</t>
          <t>Airport, City, Campus Wireless Networks, such as 802.11a/b/g, 802.16e/Wimax</t>
          <t>3G networks</t>
          <t>Enterprise networks</t>
        </list>
      </t>
      <t>We illustrate a few examples below.</t>
      <section anchor="fixed-wireless" title="Fixed Wired Environment">
        <t><xref target="dsl-figure"/> shows a DSL network scenario with the Access Network Provider
          and the customer premises. The Access Network Provider operates link and network layer
          devices (represented as Node) and the LIS. </t>
        <t>
          <figure anchor="dsl-figure" title="Fixed-wired Scenario">
            <artwork><![CDATA[
+---------------------------+
|                           |
|  Access Network Provider  |
|                           |
|   +--------+              |
|   | Node   |              |
|   +--------+ +----------+ |
|       |  |   | LIS      | |
|       |  +---|          | |
|       |      +----------+ |
|       |                   |
+-------+-------------------+
        | Wired Network
<----------------> Access Network Provider demarc
        |
+-------+-------------------+
|       |                   |
|   +-------------+         |
|   | NTE         |         |
|   +-------------+         |
|       |                   |
|       |                   |
|   +--------------+        |
|   | Device with  | Home   |
|   | NAPT and     | Router |
|   | DHCP server  |        |
|   +--------------+        |
|       |                   |
|       |                   |
|    +------+               |
|    | End  |               |
|    | Host |               |
|    +------+               |
|                           |
|Customer Premises Network  |
|                           |
+---------------------------+
]]></artwork>
          </figure>
        </t>
        <t> The customer premises consists of a router with a Network Address Translator with Port
          Address Translation (NAPT) and a DHCP server as used in most Customer Premises Networks
          (CPN) and the Network Termination Equipment (NTE) where Layer 1 and sometimes Layer 2
          protocols are terminated. The router in the home network (e.g., broadband router, cable or
          DSL router) typically runs a NAPT and a DHCP server. The NTE is a legacy device and in
          many cases cannot be modified for the purpose of delivering location information to the
          end host. The same is true of the device with the NAPT and DHCP server. </t>
        <t> It is possible for the NTE and the home router to physically be in the same box, or for
          there to be no home router, or for the NTE and end host to be in the same physical box
          (with no home router). An example of this last case is where Ethernet service is delivered
          to customers' homes, and the Ethernet NIC in their PC serves as the NTE.</t>
        <t>Current Customer Premises Network (CPN) deployments
          generally fall into one of the following classifications:
        </t>
        <t>
          <list style="numbers">
            <t>Single PC <list style="numbers">
                <t>with Ethernet NIC (PPPoE or DHCP on PC); there may be a bridged DSL or cable
                  modem as NTE, or the Ethernet NIC might be the NTE </t>
                <t> with USB DSL or cable modem [PPPoA, PPPoE, or DHCP on PC]</t>
              </list> Note that the device with NAPT and DHCP of <xref target="dsl-figure"/> is not
              present in such a scenario. </t>
            <t>One or more hosts with at least one router (DHCP Client or PPPoE, DHCP server in
              router; VoIP can be soft client on PC, stand-alone VoIP device, or Analog Terminal
              Adaptor (ATA) function embedded in router)<list style="numbers">
                <t>combined router and NTE </t>
                <t>separate router with NTE in bridged mode </t>
                <t>separate router with NTE (NTE/router does PPPoE or DHCP to WAN, router provides
                  DHCP server for hosts in LAN; double NAT)</t>
              </list>
            </t>
          </list>
        </t>
        <t> The majority of fixed access broadband customers use a router. The placement of the VoIP
          client is mentioned to describe what sorts of hosts may need to be able to request
          location information. Soft clients on PCs are frequently not launched until long after
          bootstrap is complete, and are not able to control any options that may be specified
          during bootstrap. They also cannot control whether a VPN client is running on the end
          host. </t>
      </section>
      <section title="Moving Network">
        <t>
          One example of a moving network is a WiMAX fixed wireless scenario. This
          also applies to "pre-WiMAX" and "WiMAX-like" fixed wireless networks. In
          implementations intended to provide broadband service to a home or other
          stationary location, the customer-side antenna / NTE tends to be rather
          small and portable. The LAN-side output of this device is an Ethernet
          jack, which can be used to feed a PC or a router. The PC or router then
          uses DHCP or PPPoE to connect to the access network, the same as for
          wired access networks. Access providers who deploy this technology may
          use the same core network (including network elements that terminate
          PPPoE and provide IP addresses) for DSL, fiber to the premises (FTTP),
          and fixed wireless customers.
        </t>
        <t>
          Given that the customer antenna is portable and can be battery-powered,
          it is possible for a user to connect a laptop to it and move within the
          coverage area of a single base antenna. This coverage area can be many
          square kilometers in size. In this case, the laptop (and any SIP client
          running on it) would be completely unaware of their mobility. Only the
          user and the network are aware of the laptop's mobility.
        </t>
        <t>
          Further examples of moving networks (where end devices may not be aware
          that they are moving) can be found in busses, trains, and airplanes.
        </t>
        <t>
          <xref target="moving-network"/> shows an example topology for a moving network.</t>
        <t>
          <figure anchor="moving-network" title="Moving Network">
            <artwork><![CDATA[
+--------------------------+
| Wireless                 |
| Access Network Provider  |
|                          |
|              +----------+|
|      +-------+ LIS      ||
|      |       |          ||
|  +---+----+  +----------+|
|  | Node   |              |
|  |        |              |
|  +---+----+              |
|      |                   |
+------+-------------------+
       | Wireless Interface
       |
+------+-------------------+
|      |    Moving Network |
|  +---+----+              |
|  | NTE    |   +--------+ |
|  |        +---+ Host   | |
|  +-+-----++   |  B     | |
|    |     \    +--------+ |
|    |      \              |
|+---+----+  \  +---+----+ |
|| Host   |   \ | Host   | |
||  A     |    \+  B     | |
|+--------+     +--------+ |
+--------------------------+
              ]]></artwork>
          </figure>
        </t>
      </section>
      <section anchor="wireless" title="Wireless Access">
        <t>
          <xref target="wireless-figure"/> shows a wireless access network where a moving end host
          obtains location information or references to location information from the LIS. The
          access equipment uses, in many cases, link layer devices. <xref target="wireless-figure"/>
          represents a hotspot network found, for example, in hotels, airports, and coffee shops.
          For editorial reasons we only describe a single access point and do not depict how the LIS
          obtains location information since this is very deployment specific.</t>
        <t>
          <figure anchor="wireless-figure" title="Wireless Access Scenario">
            <artwork><![CDATA[
+--------------------------+
| Access Network Provider  |
|                          |
|              +----------+|
|      +-------| LIS      ||
|      |       |          ||
|  +--------+  +----------+|
|  | Access |              |
|  | Point  |              |
|  +--------+              |
|      |                   |
+------+-------------------+
       |
     +------+
     | End  |
     | Host |
     +------+
]]></artwork>
          </figure>
        </t>
      </section>
    </section>
    <!-- **************************************************************************************** -->
    <section anchor="discovery" title="Discovery of the Location Information Server">
      <t>When a Target wants to retrieve location information from the LIS it first needs to
        discover it. Based on the problem statement of determining the location of the Target, which
        is known best by entities close to the Target itself, we assume that the LIS is located in
        the local subnet or in access network. Several procedures have been investigated that aim to discover the LIS
        in such an access network.</t>
      <t>
        <list style="hanging">
          <t hangText="DHCP-based Discovery:">
            <vspace blankLines="1"/>In some environments the Dynamic Host Configuration Protocol
            (DHCP) might be a good choice for discovering the FQDN or the IP address of the LIS. In
            environments where DHCP can be used it is also possible to use the already defined
            location extensions. In environments with legacy devices, such as the one shown in <xref
              target="fixed-wireless"/>, a DHCP based discovery solution may not be possible.<vspace
              blankLines="1"/>
          </t>
          <t hangText="DNS-based Discovery:">
            <vspace blankLines="1"/>Before a DNS lookup can be started it is necessary to learn the 
            domain name of the access network that runs a LIS. Several ways to learn the domain name
            exist. For example, the end host obtains its own public IP address, for example via STUN 
            <xref target="RFC3489"/>, and performs a reverse DNS lookup (assuming the data is provisioned 
            into the DNS). Then, the SRV or NAPTR record for that domain is retrieved. 
            A more detailed description
            of this approach can be found in <xref target="I-D.thomson-geopriv-lis-discovery"
              />.<vspace blankLines="1"/>
          </t>
          <t hangText="Redirect Rule:">
            <vspace blankLines="1"/>A redirect rule at a device in the access network, for example
            at the AAA client, could be used to redirect the L7 LCP signalling messages (destined to
            a specific port) to the LIS. The end host could then discover the LIS by sending a
            packet with a specific (registered) port number to almost any address (as long as the destination IP address does not target a
            device in the local network). The packet would be redirected to the respective LIS being
            configured. The same procedure is used by captive portals whereby any HTTP traffic is
            intercepted and redirected.<vspace blankLines="1"/> To some extend this approach is
            similar to packets that are marked with a Router Alert option <xref target="RFC2113"/>
            and intercepted by entities that understand the specific marking. In the above-mentioned
            case, however, the marking is provided via a registered port number instead of relying
            on a Router Alert option. <vspace blankLines="1"/>
          </t>
          <t hangText="Multicast Query:">
            <vspace blankLines="1"/>An end node could also discover a LIS by sending a DNS query to
            a well-known address. An example of such a mechanism is multicast DNS (see <xref
              target="RFC4795"/> and <xref target="I-D.cheshire-dnsext-multicastdns"/>).
            Unfortunately, these mechanisms only work on the local link. <vspace blankLines="1"/></t>

          <t hangText="Anycast:">
            <vspace blankLines="1"/> With this solution an anycast address is defined (for IPv4 and
            IPv6) in the style of <xref target="RFC3068"/> that allows the endhost to route
            discovery packets to the nearest LIS. Note that this procedure would be used purely for
            discovery and thereby similar to local Teredo server discovery approach outlined in
            Section 4.2 of <xref target="I-D.nward-v6ops-teredo-server-selection"/>.</t>
        </list>
      </t>
      <t>The LIS discovery procedure raises deployment and security issues. The
        access network needs to be designed to prevent man-in-the-middle
        adversaries from presenting themselves as a LIS to end hosts. When an
        end host discovers a LIS, it needs to ensure (and be able to ensure)
        that the discovered entity is indeed an authorized LIS.</t>
    </section>
    <!-- **************************************************************************************** -->
    <section anchor="identifier" title="Identifier for Location Determination">
      <t>The LIS returns location information to the end host when it receives a request. Some form
        of identifier is therefore needed to allow the LIS to retrieve the Target's current location
        (or a good approximation of it) from a database.</t>
      <t>The chosen identifier needs to have the following properties:</t>
      <t>
        <list style="hanging">
          <t hangText="Ability for Target to learn or know the identifier:">
            <vspace blankLines="1"/>The Target MUST know or MUST be able to learn the identifier
            (explicitly or implicitly) in order to send it to the LIS. Implicitly refers to the
            situation where a device along the path between the end host and the LIS modifies the
            identifier, as it is done by a NAT when an IP address based identifier is used.<vspace
              blankLines="1"/>
          </t>
          <t hangText="Ability to use the identifier for location determination:">
            <vspace blankLines="1"/>The LIS MUST be able to use the identifier (directly or
            indirectly) for location determination. Indirectly refers to the case where the LIS uses
            other identifiers internally for location determination, in addition to the one provided
            by the Target.<vspace blankLines="1"/>
          </t>
          <t hangText="Security properties of the identifier:">
            <vspace blankLines="1"/>Misuse needs to be minimized whereby off-path adversary MUST NOT
            be able to obtain location information of other Targets. A on-path adversary in the same
            subnet SHOULD NOT be able to spoof the identifier of another Target in the same
          subnet.</t>
        </list>
      </t>
      <!--
      <t>Furthermore, it MUST NOT be assumed that the Target is aware
        of the network topology. The LIS is assumed to be placed in such a way that it can determine
        location information. 
        
         As shown in <xref target="dsl-figure"/>
        the host behind the NTE/NAPT-DHCP device may not be visible to the LIS (when certain identifiers are used).
        In the DSL network environment some identifiers used at the NTE are observable for by
          the LIS. 
        </t>-->
      <t>The following list discusses frequently mentioned identifiers and their properties:</t>
      <t>
        <list style="hanging">
          <t hangText="Host MAC Address:">
            <vspace blankLines="1"/>The Target's MAC address is known to the end host, but not
            carried over an IP hop and therefore not accessible to the LIS in most deployment
            environments (unless carried in the L7 LCP itself).<vspace blankLines="1"/>
          </t>
          <t hangText="ATM VCI/VPI:">
            <vspace blankLines="1"/> The VPI/VCI is generally only seen by the DSL modem. Almost all
            routers in the US use 1 of 2 VPI/VCI value pairs: 0/35 and 8/35. This VC is terminated
            at the DSLAM, which uses a different VPI/VCI (per end customer) to connect to the ATM
            switch. Only the network provider is able to map VPI/VCI values through its network.
            With the arrival of VDSL, ATM will slowly be phased out in favor of Ethernet. <vspace
              blankLines="1"/>
          </t>
          <t hangText="Switch/Port Number:">
            <vspace blankLines="1"/> This identifier is available only in certain networks, such as
            enterprise networks, typically available via proprietary protocols like CDP or, in the
            future, 802.1ab.<vspace blankLines="1"/>
          </t>
          <t hangText="Cell ID:">
            <vspace blankLines="1"/> This identifier is available in cellular data networks and the
            cell ID may not be visible to the end host.<vspace blankLines="1"/>
          </t>
          <!-- 
          <t hangText="Authenticated User Identity:">
            <vspace blankLines="1"/>In DSL networks the user credentials are, in many cases, only
            known by the router and not configured at the Target itself. To the network, the authenticated user
            identity is only available if a network access authentication procedure is executed. In
            case of roaming it still might not be available to the access network since security
            protocols might offer user identity confidentiality and thereby hiding the real identity
            of the user allowing the access network to only see a pseudonym or a randomized
              string.<vspace blankLines="1"/>
          </t>
          -->

          <t hangText="Host Identifier:">
            <vspace blankLines="1"/>The Host Identifier introduced by the Host Identity Protocol
              <xref target="I-D.ietf-hip-base"/> allows identification of a particular host.
            Unfortunately, the network can only use this identifier for location determination if
            the operator already stores a mapping of host identities to location information.
            Furthermore, there is a deployment problem since the host identities are not used in
            todays networks. <vspace blankLines="1"/>
          </t>
          <t hangText="Cryptographically Generated Address (CGA):">
            <vspace blankLines="1"/>The concept of a Cryptographically Generated Address (CGA) was
            introduced by <xref target="RFC3972"/>. The basic idea is to put the truncated hash of a
            public key into the interface identifier part of an IPv6 address. In addition to the
            properties of an IP address it allows a proof of ownership. Hence, a return routability
            check can be omitted. It is only available for IPv6 addresses.<vspace blankLines="1"/>
          </t>
          <t hangText="Network Access Identifiers:">
            <vspace blankLines="1"/>A Network Access Identifier <xref target="RFC4282"/> is used
            during the network access authentication procedure, for example in RADIUS <xref
              target="RFC2865"/> and Diameter <xref target="RFC3588"/>. In DSL networks the user
            credentials are, in many cases, only known by the home router and not configured at the
            Target itself. To the network, the authenticated user identity is only available if a
            network access authentication procedure is executed. In case of roaming the user's
            identity might not be available to the access network since security protocols might
            offer user identity confidentiality and thereby hiding the real identity of the user
            allowing the access network to only see a pseudonym or a randomized string.<vspace
              blankLines="1"/>
          </t>
          <t hangText="Unique Client Identifier">
            <vspace blankLines="1"/> The DSL Forum has defined that all devices that expect to be
            managed by the TR-069 interface be able to generate an identifier as described in
            Section 3.4.4 of the TR-069v2 DSL Forum document. It also has a requirement that routers
            that use DHCP to the WAN use RFC 4361 <xref target="RFC4361"/> to provide the DHCP
            server with a unique client identifier. This identifier is, however, not visible to the
            Target when legacy NTE device are used.<vspace blankLines="1"/>
          </t>
          <t hangText="IP Address:">
            <vspace blankLines="1"/>The Target's IP address may be used for location determination.
            This IP address is not visible to the LIS if the end host is behind one or multiple
            NATs. This may not be a problem since the location of a host that is located behind a
            NAT cannot be determined by the access network. The LIS would in this case only see the
            public IP address of the NAT binding allocated by the NAT, which is the expected
            behavior. The property of the IP address for a return routability check is attractive to
            return location information only to the address that submitted the request. If an
            adversary wants to learn the location of a Target (as identified by a particular IP
            address) then it does not see the response message (unless he is on the subnetwork or at
            a router along the path towards the LIS).<vspace blankLines="1"/> On a shared medium an
            adversary could ask for location information of another Target. The adversary would be
            able to see the response message since it is sniffing on the shared medium unless
            security mechanisms, such as link layer encryption, are in place. With a network
            deployment as shown in <xref target="fixed-wireless"/> with multiple hosts in the
            Customer Premises being behind a NAT the LIS is unable to differentiate the individual
            end points. For WLAN deployments as found in hotels, as shown in <xref target="wireless"
            />, it is possible for an adversary to eavesdrop data traffic and subsequently to spoof
            the IP address in a query to the LIS to learn more detailed location information (e.g.,
            specific room numbers). Such an attack might, for example, compromise the privacy of
            hotel guests. <!-- Note that DHCP would suffer from the same
            problem here unless each node uses link layer security mechanism. -->
            <vspace blankLines="1"/>
            <!-- Return routability checks are useful only if the adversary does not see the response
            message and if the goal is to delay state establishment. If the adversary is in a
            broadcast network then a return routability check alone is not sufficient to prevent the
            above attack since the adversary will observe the response. -->
            <vspace blankLines="1"/>
          </t>
        </list>
      </t>
    </section>
    <!-- **************************************************************************************** -->
    <section anchor="requirements" title="Requirements">
      <t>The following requirements and assumptions have been identified: <list style="hanging">
          <t hangText="Requirement L7-1: Identifier Choice">
            <vspace blankLines="1"/> The L7 LCP MUST be able to carry different identifiers or MUST
            define an identifier that is mandatory to implement. Regarding the latter aspect, such
            an identifier is only appropriate if it is from the same realm as the one for which the
            location information service maintains identifier to location mapping.<vspace
              blankLines="1"/>
          </t>
          <t hangText="Requirement L7-2: Mobility Support ">
            <vspace blankLines="1"/>The L7 LCP MUST support a broad range of mobility from devices
            that can only move between reboots, to devices that can change attachment points with
            the impact that their IP address is changed, to devices that do not change their IP
            address while roaming, to devices that continuously move by being attached to the same
            network attachment point.<vspace blankLines="1"/>
          </t>
          <t hangText="Requirement L7-3: ASP and Access Network Provider Relationship">
            <vspace blankLines="1"/>The design of the L7 LCP MUST NOT assume a business or trust
            relationship between the Application Service Provider (ASP) and the Access Network
            Provider. Requirements for resolving a reference to location information are not
            discussed in this document.<vspace blankLines="1"/>
          </t>
          <t hangText="Requirement L7-4: Layer 2 and Layer 3 Provider Relationship">
            <vspace blankLines="1"/>The design of the L7 LCP MUST assume that there is a trust and
            business relationship between the L2 and the L3 provider. The L3 provider operates the LIS that the Target queries.
            It, in turn, needs to obtain location information from the L2 provider since this one is
            closest to the end host. If the L2 and L3 provider for the same host are different
            entities, they cooperate for the purposes needed to determine end system
              locations.<vspace blankLines="1"/>
          </t>
          <t hangText="Requirement L7-5: Legacy Device Considerations">
            <vspace blankLines="1"/>The design of the L7 LCP MUST consider legacy devices, such as
            residential NAT devices and NTEs in a DSL environment, that cannot be upgraded to
            support additional protocols, for example, to pass additional information towards the
              Target.<vspace blankLines="1"/>
          </t>
          <t hangText="Requirement L7-6: VPN Awareness">
            <vspace blankLines="1"/> The design of the L7 LCP MUST assume that at least one end of a
            VPN is aware of the VPN functionality. In an enterprise scenario, the enterprise side
            will provide the LIS used by the client and can thereby detect whether the LIS request
            was initiated through a VPN tunnel.<vspace blankLines="1"/>
          </t>
          <t hangText="Requirement L7-7: Network Access Authentication">
            <vspace blankLines="1"/>The design of the L7 LCP MUST NOT assume prior network access
              authentication.<vspace blankLines="1"/>
          </t>
          <t hangText="Requirement L7-8: Network Topology Unawareness">
            <vspace blankLines="1"/>The design of the L7 LCP MUST NOT assume end systems being aware
            of the access network topology. End systems are, however, able to determine their public
            IP address(es) via mechanisms, such as STUN <xref target="RFC3489"/> or NSIS NATFW NSLP
              <xref target="I-D.ietf-nsis-nslp-natfw"/> .<vspace blankLines="1"/>
          </t>
          <t hangText="Requirement L7-9: Discovery Mechanism">
            <vspace blankLines="1"/> The L7 LCP MUST define a mandatory-to-implement LIS discovery
            mechanism. </t>
          <t hangText="Requirement L7-10: PIDF-LO Creation">
            <vspace blankLines="1"/> When a LIS creates a PIDF-LO <xref target="RFC4119"/> then it
            MUST put the &lt;geopriv&gt; element into the &lt;device&gt;
            element of the presence document (see <xref target="RFC4479"/>). This ensures that the
            resulting PIDF-LO document, which is subsequently distributed to other entities,
            conforms to the rules outlined in <xref target="I-D.ietf-geopriv-pdif-lo-profile"/>.</t>
        </list>
      </t>
    </section>
    <!-- **************************************************************************************** -->
    <section anchor="security" title="Security Considerations">
      <t>This document contains security related requirements. A discussion about security aspects
        of the HELD protocol when used in the GEOPRIV architecture when applied to certain usage
        environments, such as emergency services, can be found in <xref
          target="I-D.barnes-geopriv-lo-sec"/>.</t>
    </section>
    <!-- **************************************************************************************** -->
    <section title="IANA Considerations">
      <t>This document does not require actions by IANA.</t>
    </section>
    <!-- **************************************************************************************** -->
    <section title="Contributors">
      <t> This contribution is a joint effort of the GEOPRIV Layer 7 Location Configuration
        Requirements Design Team of the IETF GEOPRIV Working Group. The contributors include Henning
        Schulzrinne, Barbara Stark, Marc Linsner, Andrew Newton, James Winterbottom, Martin Thomson,
        Rohan Mahy, Brian Rosen, Jon Peterson and Hannes Tschofenig. </t>
      <t>We would like to thank the GEOPRIV working group chairs, Andy Newton, Randy Gellens and
        Allison Mankin, for creating the design team.</t>
      <t>The design team members can be reached at:</t>
      <t>
        <list style="hanging">
          <t hangText="Marc Linsner:"> mlinsner@cisco.com</t>
          <t hangText="Rohan Mahy:"> rohan@ekabal.com</t>
          <t hangText="Andrew Newton:"> andy@hxr.us</t>
          <t hangText="Jon Peterson:"> jon.peterson@neustar.biz</t>
          <t hangText="Brian Rosen:"> br@brianrosen.net</t>
          <t hangText="Henning Schulzrinne:"> hgs@cs.columbia.edu</t>
          <t hangText="Barbara Stark:"> Barbara.Stark@bellsouth.com</t>
          <t hangText="Martin Thomson:"> Martin.Thomson@andrew.com</t>
          <t hangText="Hannes Tschofenig:"> Hannes.Tschofenig@nsn.com</t>
          <t hangText="James Winterbottom:"> James.Winterbottom@andrew.com</t>
        </list>
      </t>
    </section>
    <!-- **************************************************************************************** -->
    <section title="Acknowledgements">
      <t>We would like to thank the IETF GEOPRIV working group chairs, Andy Newton, Allison Mankin
        and Randall Gellens, for creating this design team. Furthermore, we would like thank Andy
        Newton for his support during the design team mailing list, for setting up Jabber chat
        conferences and for participating in the phone conference discussions.</t>
      <t> We would also like to thank Murugaraj Shanmugam, Ted Hardie, Martin Dawson, Richard
        Barnes, James Winterbottom, Tom Taylor, Otmar Lendl, Marc Linsner, Brian Rosen, Roger
        Marshall, Guy Caron, Doug Stuard, Eric Arolick, Dan Romascanu, Jérôme Grenier, Martin
        Thomson, Barbara Stark, Michael Haberler, and Mary Barnes for their WGLC review
        comments.</t>
      
      <t>The authors would like to thank NENA for their work on <xref target="NENA"/> as it helped to provide some of the initial thinking.
      </t>
      
    </section>
    <!-- **************************************************************************************** -->
  </middle>
  <back>
    <references title="Normative References">
      <reference anchor="RFC2119">
        <front>
          <title abbrev="RFC Key Words">Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="Scott Bradner" initials="S." surname="Bradner">
            <organization>Harvard University</organization>
            <address>
              <postal>
                <street>1350 Mass. Ave.</street>
                <street>Cambridge</street>
                <street>MA 02138</street>
              </postal>
              <phone>- +1 617 495 3864</phone>
              <email>-</email>
            </address>
          </author>
          <date month="March" year="1997"/>
          <area>General</area>
          <keyword>keyword</keyword>
        </front>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="BCP" value="14"/>
      </reference> &RFC3693; &I-D.ietf-ecrit-requirements; </references>
    <references title="Informative References"> &I-D.ietf-geopriv-lbyr-requirements;
      &RFC4361; &RFC3972; &RFC3588; &RFC2865; &RFC3489; &RFC2113;
      &RFC4119; &I-D.ietf-nsis-nslp-natfw; &RFC4282; &I-D.ietf-hip-base;
      &RFC3068; &RFC4479; &I-D.cheshire-dnsext-multicastdns; &RFC4795;
      &I-D.barnes-geopriv-lo-sec; &I-D.ietf-geopriv-pdif-lo-profile;
      &I-D.winterbottom-geopriv-lis2lis-req; &I-D.thomson-geopriv-lis-discovery;
      &I-D.nward-v6ops-teredo-server-selection; 
    

    
      <reference anchor="NENA">
        <front>
          <title>NENA 08-505, Issue 1, 2006 (December 21, 2006), NENA Recommended
            Method(s) for Location Determination to Support IP-Based Emergency Services - Technical
            Information Document (TID)</title>
          <author fullname="" initials="" surname="">
            <organization></organization>
<address/>
          </author>
          <date month="December" year="2006"/>
        </front>
        <seriesInfo name="PDF" value="NENA 08-505"/>
      </reference>
    </references>
  </back>
</rfc>
