Internet DRAFT - draft-mccann-dmm-flatarch

draft-mccann-dmm-flatarch






Internet Engineering Task Force                           P. McCann, Ed.
Internet-Draft                                                    Huawei
Intended status: Informational                             March 2, 2012
Expires: September 3, 2012


     Authentication and Mobility Management in a Flat Architecture
                      draft-mccann-dmm-flatarch-00

Abstract

   Today's mobility management schemes make use of a hierarchy of
   tunnels from a relatively fixed anchor point, through one or more
   intermediate nodes, to reach the MN's current point of attachment.
   These schemes suffer from poor performance, scalability, and failure
   modes due to the centralization and statefulness of the anchor
   point(s).  The dmm (Distributed Mobility Management) working group is
   currently chartered to investigate alternative solutions that will
   provide greater performance, scalability, and robustness through the
   distribution of mobility anchors.  This document is an input to the
   dmm discussion.  It outlines a problem statement for the existing
   mobility management techniques and goes on to propose (high-level)
   solutions to two of the most vexing problems: MN authentication and
   mobility management in a fully distributed, flat (non-hierarchical)
   access network.  These two aspects are often treated separately in a
   layered architecture, but we argue there are important advantages to
   considering how these two functions can work in tandem to provide a
   simple and robust framework for the design of a wireless Internet
   Service Provider network.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on September 3, 2012.

Copyright Notice



McCann                  Expires September 3, 2012               [Page 1]

Internet-Draft                  FlatArch                      March 2012


   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Requirements Language  . . . . . . . . . . . . . . . . . .  5
   2.  Mobility Management  . . . . . . . . . . . . . . . . . . . . .  5
     2.1.  Addressing Plan  . . . . . . . . . . . . . . . . . . . . .  6
     2.2.  Handoff  . . . . . . . . . . . . . . . . . . . . . . . . .  7
     2.3.  Address Management . . . . . . . . . . . . . . . . . . . .  8
     2.4.  Macro-Mobility . . . . . . . . . . . . . . . . . . . . . .  9
   3.  Authentication . . . . . . . . . . . . . . . . . . . . . . . . 10
   4.  Mobility Management and Authentication Working Together  . . . 14
   5.  Workplan for IETF  . . . . . . . . . . . . . . . . . . . . . . 15
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 15
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 15
   8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 15
   9.  Informative References . . . . . . . . . . . . . . . . . . . . 16
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 17




















McCann                  Expires September 3, 2012               [Page 2]

Internet-Draft                  FlatArch                      March 2012


1.  Introduction

   Figure 1 depicts the hierarchical mobility management architecture
   that is being deployed by 3GPP LTE networks.

                       ------
                      | P-GW |   <--------- Fixed centralized
                       ------                anchor point
                      //    \\
                     //      \\  <--------- Tunnels
                    //        \\
                 ------      ------       -----
                | S-GW |    | S-GW |     | MME | <---- Responsible for
                 ------      ------       -----        Authentication
                //    \\          \\      /
               //      \\          \\    /
              //        \\          \\  /
            -----      -----       -----
           | eNB |    | eNB |     | eNB |
            -----      -----       -----

    Figure 1: A typical hierarchical mobility management architecture.

   This architecture is an evolution of the General Packet Radio System
   (GPRS) that was originally adopted for GSM systems.  It is motivated
   in large part by two fundamental requirements:

   o  Keep the IP address (and therefore the anchor point) of the packet
      data session fixed for the life of the session; and,

   o  Re-use the existing legacy AKA authentication algorithm that was
      used for circuit voice.

   These requirements were demanded by operators due to their desire to
   maintain control over services in the home network and to maintain
   their existing system of distributing user credentials in secure
   Subscriber Identity Modules (SIMs).

   While these two requirements made sense for the operators that
   controlled standards decisions at the time, meeting them comes at
   somewhat of a cost.  The use of a fixed P-GW without route
   optimization means that all packets have to traverse the chain of
   tunnels from anchor to MN, which could be very suboptimal if the MN
   is far away from the P-GW.  The centralization of state in the P-GW
   (and to a lesser extent in the S-GWs) means that these nodes are
   scalability bottlenecks and that if one of them fails, all packet
   data sessions going through that node also fail.  The re-use of a
   legacy symmetric secret key authentication protocol means that there



McCann                  Expires September 3, 2012               [Page 3]

Internet-Draft                  FlatArch                      March 2012


   must be a round-trip to the home network to retrieve keying material
   upon initial attachment and every time the MN encounters a new MME.
   In addition to the performance impact, transport of secret keying
   material across inter-provider interfaces always carries some risk
   that the material will be compromised somewhere along the way.  Note
   that keying material also needs to be transported from the MME to
   each eNB that the MN encounters.

   This document examines the architectural implications of relaxing the
   above two requirements.  In particular, we note that many MNs will
   not require a fixed IP address for the entire duration of their
   packet data session, as they will most likely be acting as clients
   and initiating short-lived connections to servers.  It may be more
   important that such communication take the shortest path possible to
   reduce latency and load on the network.  By making use of a routing
   protocol instead of a tunnel setup protocol for most mobility events,
   we can maximize the fault tolerance and compute the most optimal
   route for any packet from any vantage point in the network.

   Second, we note that the hardware limitations that mandated the use
   of symmetric key algorithms for authentication are fading away.  On a
   modern CPU, an elliptic curve public key cryptographic operation can
   be completed in well under 1 millisecond [1].  With the addition of
   low-cost cryptographic acceleration hardware [2], the battery impact
   of such an operation can be reduced even further.  As CPU power is
   only increasing, we argue that it will be more important to reduce
   the number of messages and round-trips to the home network than to
   absolutely minimize the CPU consumption in the MN.  Only a public key
   cryptosystem offers the ability to do this.  With the creation of a
   new breed of authentication algorithms that can operate in one round-
   trip over the air, we can afford to perform a full re-authentication
   of the MN upon encountering each Access Router (AR), completely
   eliminating the need to transport secret keying material between
   infrastructure nodes.

   The remainder of this document is structured as follows: Section 2
   discusses the possibility of using a routing protocol for localized,
   network-based mobility management in a wireless access network.
   Section 3 introduces a possible public-key based authentication
   scheme that could be used for access authentication at each AR.
   Section 4 explores the synergy between authentication and mobility
   management, and explains how the new authentication algorithm could
   be embedded into Mobile IP for macro-mobility across domains.
   Section 5 is a list of work items for the IETF that will make this
   vision a reality.  Finally, Section 6 and Section 7 give IANA and
   Security Considerations, respectively.





McCann                  Expires September 3, 2012               [Page 4]

Internet-Draft                  FlatArch                      March 2012


1.1.  Requirements Language

   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 RFC 2119 [3].


2.  Mobility Management

   Figure 2 gives a picture of a flat wireless Internet service provider
   network.  Although ISP networks are usually structured in a hierarchy
   of layers such as Core, Aggregation, and Access routers, the
   connectivity between the routers is more mesh-like in nature and less
   rigidly hierarchical than the tunneling boxes shown in Figure 1.

                       __O-----------O__
                      (                 )
                     (      Internet     )
                      (_               _)
                       /O-------------O
                      /               \
                     /                 \
                  -----                 -----
                 ( rtr )-------------__( rtr )  <--- Core Layer
                  -----            _/   -----        Routers
                /      \    ______/    /    \
               /        \  /          /      \
             -----     -----       -----     -----
            ( rtr )   ( rtr )     ( rtr )   ( rtr )  <--- Aggregation
             -----     -----       -----     -----        Layer Routers
           /      \   /    \      /      \   /
       ----        ----      ----        ----
      | AR |      | AR |    | AR |      | AR |  <--- Access Layer
       ----        ----      ----        ----        Routers

     Figure 2: A flat wireless Internet service provider architecture.

   The Access Routers (ARs) would be integrated with the radio link
   layer at the base stations.  The ARs act as the first-hop routers for
   the MNs, and tunnels do not appear in the architecture until they are
   needed.  Note also that each router can be connected to more than one
   router in the layer above, and can even be connected directly to some
   of its peer routers in the same layer.  Except for the access layer,
   all of the routers in the network are standard off-the-shelf wireline
   routers running IBGP.

   We assume that each AR has its own pool of addresses from which it
   can assign to mobile nodes and that these addresses are advertised



McCann                  Expires September 3, 2012               [Page 5]

Internet-Draft                  FlatArch                      March 2012


   using IBGP to the upstream routers in the aggregation layer.  We
   assume that all mobile nodes are authenticated upon attachment or re-
   attachment to a base station, and that the outcome of authentication
   is an exchange of hostnames (the base station learns the mobile
   node's hostname and vice-versa) bound to a master session key (MSK)
   shared between the mobile node and base station.  Upon initial
   arrival in a given autonomous system, the mobile node is allocated an
   address (or a prefix) from the base station to which it is attached
   using ordinary mechanisms, e.g., DHCP.  Then the mobile node updates
   its home DNS server to point from its hostname to the new address.
   The base station updates the reverse pointer in the in-addr.arpa or
   ip6.arpa space to point to the hostname it obtained when it
   authenticated the mobile node.  Then, upon handoff, the target base
   station looks up the hostname received during authentication to
   determine whether the mobile node already has an address assigned
   from elsewhere in the autonomous system.  If so, and if the hostname
   looked up in the reverse pointer is the same, it sends a BGP UPDATE
   message to all of its BGP peers containing the address (or the
   prefix) that was allocated to the mobile node.  Packets are then
   routed appropriately to the new point of attachment in an optimal
   way.  In the remainder of this section we describe the possible
   mechanisms in more detail.

2.1.  Addressing Plan

   The operator must define an addressing plan for the whole autonomous
   system.  As a maximally-flat network, we assume that each base
   station will have its own designated pool of addresses from which it
   will assign to mobile nodes.  To save space in the routing tables
   throughout the autonomous system, each pool should be a contiguous
   chunk of address space with a common prefix.  Each base station acts
   as a BGP [4] router, originating UPDATE messages for the prefix(es)
   that it owns.  The routers in the aggregation layer are configured as
   route reflectors [5] for the base stations they subtend (the base
   stations are route reflector clients).  These routers are configured
   to aggregate the assigned address prefixes advertised by the base
   stations for the core routers above them, but will faithfully reflect
   all sub-prefixes advertised by any route reflector client to all
   other route reflector clients.  Also, any sub-prefixes advertised by
   a client that are outside that client's pre-assigned range (known by
   configuration in the aggregation router) will also be reflected to
   the other clients and, if the prefix is outside the scope of the
   route reflector itself, propagated upward toward the core routers.

         On one popular BGP router platform, this would be accomplished
         with a combination of the "aggregate-address" command (without
         the "summary-only" option) and the "neighbor distribute-list
         out" command specifying that more-specific prefixes of the



McCann                  Expires September 3, 2012               [Page 6]

Internet-Draft                  FlatArch                      March 2012


         known aggregate are to be suppressed to the non-client routers.

2.2.  Handoff

   Upon handoff within the same autonomous system, the mobile node is
   authenticated by the new base station.  Given the mobile node's
   authenticated DNS name, the new base station takes several actions.
   First, it looks up the set of IP addresses associated with the
   hostname.  It then makes a policy check on each IP address to see
   whether it is within the range of addresses managed by BGP in its
   local autonomous system.  If so, it does a reverse lookup in the in-
   addr.arpa or ip6.arpa space (this space is controlled by the wireless
   ISP, unlike the forward mapping which is controlled by the mobile
   node) for each such IP address to ensure that some peer base station
   in its network did actually assign the IP address to the given name.
   If so, it originates a new BGP UPDATE message to its peers containing
   NLRI of the specific prefix (perhaps just a single address) that was
   assigned to the mobile node, with itself as the NEXT_HOP.  It sets
   the LOCAL_PREF attribute to a 32-bit timestamp taken from its local
   clock (we assume that all base stations in an autonomous system have
   clocks synchronized to within 1 second).  This will guarantee that
   the route is preferred over the same route that may have been
   advertised by a previously visited base station.  The UPDATE will be
   sent to the parent routers in the aggregation layer, and will be
   reflected down to all other base stations in the same cluster.  If
   the prefix was originally assigned by a peer base station in the same
   cluster, that is the extent of the update.  Otherwise, the
   aggregation router propagates the update to the core layer which
   reflects it down to all other aggregation routers and from there it
   goes into all the base stations in the access layer.

   Thus, when the mobile node moves within the same cluster, the
   messaging is confined to that cluster; however, when the mobile node
   crosses a cluster boundary, the update propagates through the larger
   cluster bounded by the route reflector above.  If this is the core
   layer, then the update would be propagated throughout the autonomous
   system.  This is necessary to ensure that optimal routes are created
   everywhere in the system.  In general, there may be additional peer-
   to-peer links in the autonomous system; for example, directly between
   two neighboring base stations.  Such a link would appear in the
   Interior Gateway Protocol (IGP, such as OSPF, EIGRP, or IS-IS) but
   would not be a BGP peering because the route reflectors take care of
   propagating BGP prefixes.  Our scheme allows packets to make use of
   this route when appropriate; for example, a packet originated on one
   base station, destined for an IP address that is normally homed on
   the same base station but is being temporarily borrowed by a
   neighbor, would match the more-specific route to the neighbor listed
   as the NEXT_HOP in BGP and the recursive routing would forward the



McCann                  Expires September 3, 2012               [Page 7]

Internet-Draft                  FlatArch                      March 2012


   packet over the direct link.

2.3.  Address Management

   The mobile node can therefore keep its address throughout the
   autonomous system if it wishes.  When the address is nearing its
   lease expiration, the mobile node would send a unicast DHCPREQUEST to
   the DHCP server associated with the original base station to renew
   the lease.  All base stations in the network must filter packets
   bound to IP addresses internal to the autonomous system to prevent
   abuse.  In the case of DHCPREQUEST going to a remote base station,
   the current base station must add the DHCP Relay Agent Information
   Option [6] containing the mobile node's DNS hostname in the Agent
   Remote ID sub-option.

   Keeping an address for a long period of mobility is sub-optimal due
   to the large amount of routing state that would be introduced.  Our
   scheme is optimized for the case where the mobile node can
   periodically change its IP address to one that is more locally-
   appropriate.  The BGP routing updates can provide a micro-mobility
   solution that hides the mobile node's movement from nodes outside the
   autonomous system and avoids frequent updates of its home DNS server.
   However, mobile nodes should keep track of which connections are
   using which addresses, and should periodically get new IP addresses
   from whatever base station to which they happen to be attached.  Each
   IP address currently assigned to the mobile node should be registered
   to its home DNS server, with the most recently allocated listed
   first.  Clients will therefore prefer the most recently allocated
   address for new connections.

   Publishing the IP address assigned to a mobile node has security
   implications.  Anyone who does a lookup can track the mobile node to
   the base station to which it was attached when it reserved the
   address.  In general the use of an optimal route seems to be at odds
   with location privacy; if the mobile node needs location privacy, it
   should hide itself behind a proxy and only publish the proxy's IP
   address to the public DNS.  Our scheme could function with pseudonyms
   assigned to mobile nodes by the visited network operator, but
   constructing such pseudonyms and allocating credentials to them is
   outside the scope of this document.

   When a mobile node wants to release an address it should remove it
   from its home DNS server and send a DHCPRELEASE to the original
   assigning DHCP server.  A DHCP server may have a policy that limits
   the number of times an IP address assignment may be renewed from a
   remote base station.  This will force the mobile node to eventually
   release the address and optimize the routing tables.




McCann                  Expires September 3, 2012               [Page 8]

Internet-Draft                  FlatArch                      March 2012


   The prefixes that we inject into the IBGP would most likely be full-
   length IPv4 addresses, although for IPv6 assignment of true prefixes
   would be more appropriate.  All base stations in an autonomous system
   would need to agree on the prefix lengths they are assigning, and
   these prefixes would need to be on byte boundaries (for in-addr.arpa
   reverse lookups) or nybble boundaries (for ip6.arpa reverse lookups).
   The target base station would look up the mobile node's hostname and
   get back single IP addresses that are drawn from the prefixes and
   then do the reverse lookup on the containing prefix.

2.4.  Macro-Mobility

   The ability for any router in the access network to attract the
   packets destined for the MN can be used advantageously for macro-
   mobility as well as micro-mobility.  Let's consider again the diagram
   from Figure 2, redrawn in Figure 3.

                               __O-----------O__
                              (                 )
                             (      Internet     )
                              (_               _)
                               /O-------------O
                              /               \
                             /                 \
                          -----                 -----     ----
                         ( rtr )-------------__( rtr )---( HA )
                          -----            _/   -----     ----
                        /      \    ______/    /    \
                       /        \  /          /      \
                     -----     -----       -----     -----
                    ( rtr )   ( rtr )     ( rtr )   ( rtr )
                     -----     -----       -----     -----
                   /      \   /    \      /      \   /
               ----        ----      ----        ----
              | AR |      | AR |    | AR |      | AR |
               ----        ----      ----        ----

   Figure 3: Home Agent support in a wireless Internet service provider
                               architecture.

   When the MN leaves the autonomous system completely, it may desire to
   keep sessions that were ongoing before it left.  The Home Agent in
   the figure can be used for this purpose.  Instead of using Gratuitous
   ARP or ND to attract the MN's packets, the HA can instead send a BGP
   UPDATE into the network to effect the routing of packets towards
   itself.  This is a more powerful mechanism than ARP or ND because it
   can reach across multiple IP routing hops to install forwarding state
   that will route the packets in its direction.



McCann                  Expires September 3, 2012               [Page 9]

Internet-Draft                  FlatArch                      March 2012


   The sending of a BGP UPDATE by the HA is triggered by an
   authenticated Registrationn Request or Binding Update.  In this
   respect, the role of the HA can be compared to the role of any of the
   ARs that also must authenticate the MN before sending UPDATEs.  We
   advocate a unification of the authentication protocol used for access
   and mobility signaling.  The same set of credentials and secret keys
   can be used for both purposes, simplifying the network architecture
   and the node provisioning process.  In the next section, we give a
   high level design for an authentication scheme that can be used.


3.  Authentication

   Recall in Section 2 we alluded to an authentication protocol that
   must run every time the MN encounters a new base station.  To
   minimize the number of round-trips to the home network, we choose to
   base the authentication step on public key cryptography, namely an
   Elliptic Curve Diffie-Hellman exchange between the MN and the base
   station.

   We note that the existing key exchange protocols such as IKE [7] and
   TLS [8] implement Perfect Forward Secrecy (PFS) by completing an
   ephemeral Diffie-Hellman exchange during the first round of messages
   between the communicating parties.  Credentials are exchanged in a
   second round of messages.  These multiple round-trips would introduce
   unacceptable overhead and latency in the mobile wireless environment.
   A key insight is that we don't necessarily need PFS if we are merely
   doing key exchange for purposes of authentication and integrity
   protection.  A simpler protocol with one round-trip static Diffie-
   Hellman will suffice.

   Perhaps the most difficult part of deploying a public key
   infrastructure is providing assurance that the public key obtained
   for the other party with which one wants to communicate does actually
   correspond to a private key known only to that other party.  Key
   assurance can be provided through the use of certificates such as
   those defined by X.509 [9].  Usually, such certificates are exchanged
   in-band during the second round of a key exchange protocol.  They
   must then be validated using e.g., the Online Certificate Status
   Protocol (OCSP) [10] or sometimes with an OCSP response attached
   ("stapled") to the same message that delivered the certificate.  The
   exchange of certificates and OCSP information introduces additional
   overhead and possible round-trips to the authentication protocol.

   In contrast, a new method of obtaining key assurance is currently
   being worked on in the DNS-based Assurance of Named Entities (DANE)
   working group [11].  While intended initially to support TLS, the
   protocol could be used for other purposes as well (e.g., S/MIME



McCann                  Expires September 3, 2012              [Page 10]

Internet-Draft                  FlatArch                      March 2012


   [12]).  Interestingly, some have proposed putting raw, bare public
   keys into the DNS records so that TLS can be run without the use of
   any certificates whatsoever [13].  It is this latter method of key
   assurance that we build on here.

   Here we use the terminology of "peer" and "authenticator" as they are
   used in the Extensible Authentication Protocol (EAP) [14].  In our
   case the peer is the MN and the authenticator is the base station or
   Home Agent.  We assume that the peer and authenticator are both named
   entities with DNS records containing the public portion of their
   keys.  All such DNS records are protected with DNSSEC.

   The peer and authenticator must discover each others' names and
   obtain the public keys corresponding to those names.  There are
   several methods for how the peer might learn the authenticator's name
   and public key:

   o  The authenticator broadcasts its name and public key in system
      overhead messages.

   o  The authenticator unicasts its name and public key to the peer in
      an LTE Non-Access Stratum (NAS) message.

   o  The authenticator inserts its name and public key in the readable
      string portion of an EAP Identity Request and/or after the null
      terminating character.

   o  The peer somehow learns the DNS name of the authenticator and
      looks up the authenticator's key in the DNS using DNSSEC over an
      existing connection to the Internet prior to attaching to the
      authenticator.

   In the first three methods, the peer may obtain assurance that the
   key belongs to the given name by making a DNS query as its very first
   action upon obtaining Internet access through the authenticator.

   We assume that the authenticator has access to the Internet and can
   retrieve the key of the peer when it is given only the peer's DNS
   name during the authentication process.  Distributing keys out-of-
   band helps to reduce the size of the authentication messages.

   The actual authentication process consists of a single message sent
   from the peer to the authenticator.  The message could be embedded in
   a NAS message or an EAP Identity Response message destined to the
   authenticator.  Upon receiving and validating this message, the
   authenticator is able to derive a Master Session Key (MSK) which will
   be securely bound to the pair of DNS names given by both sides.  The
   message from peer to authenticator would be protected with an HMAC



McCann                  Expires September 3, 2012              [Page 11]

Internet-Draft                  FlatArch                      March 2012


   using the MSK derived by the peer.  Upon validating the
   authentication message, and if requested by the peer, the
   authenticator may immediately begin the mobility management process
   outlined in Section 2.  The authenticator may in parallel send a NAS
   message or an EAP Success message indicating successful
   authentication.  The NAS message may be a Security Mode Command
   message that initializes the over-the-air integrity protection and
   encryption.  The EAP Success message could trigger a lower layer key
   handshake as specified by IEEE 802.11i [15].

   The derivation of the MSK is depicted below in Figure 4.

                   peer    __                  ___authenticator
                private key  \                /    private key
                              \              /
               authenticator   \            /       peer
                 public key--+  |          |  +---public key
                             v  v          v  v
                             ECDH          ECDH
                                \          /
                                 \        /
                                  V      V
                           Long-Term Shared Secret
                                   (LTSS)
                 peer DNS  __        |        __authenticator DNS
               name & length \_      |      _/     name & length
                               \_    |    _/
                peer session     \_  |  _/        authenticator
                   nonce \         \ | /        / session nonce
                          \         vvv        /
                           \------> KDF <-----/
                                     |
                                     |
                                     v
                                    MSK

     Figure 4: The key derivation hierarchy for authentication and key
                       agreement in one round-trip.

   In the figure, we depict the two sides independently performing
   Elliptic Curve Cofactor Diffie-Hellman (as specified in Section
   5.7.1.2 of NIST SP 800-56A [16]).  Each uses its own private key and
   the public key of the other entity.  Both sides should arrive at the
   same value which they use as a Long-Term Shared Secret (LTSS).  The
   LTSS may be cached so that the expensive ECDH operation does not have
   to be repeated when the same peer accesses the same authenticator in
   the future.




McCann                  Expires September 3, 2012              [Page 12]

Internet-Draft                  FlatArch                      March 2012


   Next, we derive the MSK using a Key Derivation Function (KDF), taking
   as input the LTSS, the identities of the two parties (the DNS names
   and their lengths) as well as a session nonce from each party.  The
   KDF should also include a counter value (set to 1) and a unique
   string indicating which function is calling the KDF.  This will make
   the key derivation compliant to Section 5.8.1 of NIST SP 800-56A
   [16].

   The authenticator may send a session nonce along with its public key
   in any of the four ways outlined earlier; note that in the case of
   publication in the DNS, the authenticator's session nonce would
   actually be re-used by incoming sessions for a period of time.
   Session MSKs would still be independent due to the entropy added by
   the peer in its own session nonce and by the different LTSSs derived
   for different peers.

         If it turns out that it is unacceptable to re-use the
         authenticator's nonce for more than one session, we will need
         to put an authenticator session nonce into the response to the
         peer's single authentication message.  This response would
         trigger both sides to recompute MSK and to use it going
         forward.  This response message should be authenticated with an
         HMAC using a key derived from either the first or second MSK to
         avoid denial-of-service attacks.

         Actually, it might be good to have such a "re-MSK" message
         available to either side during the life of the session to
         enable re-fresh of the MSK.

   The derivation of the LTSS and the execution of the KDF to generate
   the MSK should be carried out in a secure environment, and both
   private keys and the LTSS should be stored in the secure environment
   so that they cannot be accessed except by the authentication method.
   The MSK may also be kept in the secure environment and an interface
   provided to derive further keys from it; alternatively, the MSK may
   be distributed to the outside environment for subsequent use.
   Historically, the secure environment has been implemented inside
   tamper-proof hardware that is resistant to duplication ("cloning");
   such hardware usually runs at a much lower clock speed than the
   general purpose CPU that is used for other computing tasks.  Because
   the ECDH operation will require the support of the main CPU, we
   envision that hardware virtualization support on the main CPU can be
   used to create a secure environment for the generation, storage, and
   use of private keys and the LTSS.







McCann                  Expires September 3, 2012              [Page 13]

Internet-Draft                  FlatArch                      March 2012


4.  Mobility Management and Authentication Working Together

   As described in Section 2, it is the completion of the authentication
   step that indicates to the AR that the MN is authentic and that its
   traffic should be redirected to the new point of attachment.  Upon
   initial attachment, the MN doesn't have any assigned IP address and
   must obtain one using DHCP.  At the same time, the DHCP server should
   assign the name of a Home Agent that can be used by the MN when it
   leaves the area inside which a BGP UPDATE accomplishes the traffic
   re-routing for the given address.  The HA can be strategically placed
   at the boundary of this region, introducing the least amount of
   latency once the MN puts it on the forwarding path.  The MN can
   perform a DNS lookup on the HA name to retrieve the HA's public key
   and perform the derivation of an LTSS long in advance of needing the
   HA's services.  Messages could be provided so that the MN and HA can
   develop an MSK without the HA sending a BGP UPDATE; this would avoid
   the need to derive an MSK later when the Registration Request /
   Binding Update is actually sent.

   We need some way of indicating to the MN whether or not its old
   address(es) have been successfully re-routed or whether it needs to
   perform a Mobile IP Registration Request / Binding Update to receive
   its traffic.  One way is to wait for the AR to send a Router
   Advertisement (RA).  The RA should contain all of those prefixes that
   were successfully re-routed by the AR sending a BGP UPDATE.  If any
   prefix is missing from this list, the MN should initiate the Mobile
   IP Registration/Binding Update for those that are missing.  However,
   this may be too much overhead so it may be desirable to build in some
   indication at the link layer (e.g., NAS signaling) when some prefixes
   were not able to be re-routed.

   Existing LTE networks enable the MNs to remain in the idle state for
   many mobility events.  This is accomplished through the use of
   Tracking Area Lists, and the MN does not need to update its location
   as long as it is within a Tracking Area that is on the list it was
   last sent.  We can also support this concept; however, packets
   destined to the mobile node would always be routed to the AR on which
   it was last authenticated.  That AR would need to page the MN
   throughout the Tracking Area List that it previously sent to the MN,
   and the MN would need to attach to the currently serving AR and carry
   out authentication to obtain these packets.  The BGP UPDATE would
   reach the old AR which would then forward the packets as normal.  The
   Tracking Area Lists should be chosen to make a proper tradeoff
   between the frequency of re-authentication and the size of the paging
   areas, keeping in mind that the MN will need to re-authenticate
   itself to receive packets at the current location.

   Caching of the LTSSs will play an important role in improving the



McCann                  Expires September 3, 2012              [Page 14]

Internet-Draft                  FlatArch                      March 2012


   performance of our scheme.  Each MN could retain the LTSS for many if
   not all of the ARs it has previously visited, and the ARs could
   retain the LTSS for many of the recently seen MNs.  This makes the
   derivation of the MSK a very simple matter of exchanging nonces and
   running the KDF.


5.  Workplan for IETF

   The IETF should undertake the following:

   1.  In the DANE working group, add authenticator nonces to the DNS
       record format for bare public keys.

   2.  Define a way to run the authentication protocol in this document
       over EAP.

   3.  In the DMM working group, define a way to run the authentication
       protocol in this document over Mobile IP.  This may or may not
       involve running EAP over Mobile IP.

   4.  When defining the authentication protocol either over EAP or MIP,
       define a flag that allows the MN to control whether mobility
       management is immediately invoked or not (i.e., allow for
       derivation of the MSK by both sides without necessarily invoking
       mobility management).

   5.  Define a new DHCP option that carries a Home Agent DNS name.

   6.  Write an applicability statement and implementation guide for the
       use of BGP to create host routes for host mobility.


6.  IANA Considerations

   This memo includes no request to IANA as of yet.


7.  Security Considerations

   TBD


8.  Acknowledgements







McCann                  Expires September 3, 2012              [Page 15]

Internet-Draft                  FlatArch                      March 2012


9.  Informative References

   [1]   Bernstein, D., "Speed reports for elliptic-curve cryptography".

   [2]   Gaubatz, G., Kaps, J., Ozturk, E., and B. Sunar, "State of the
         Art in Ultra-Low Power Public Key Cryptography for Wireless
         Sensor Networks", 2nd IEEE International Workshop on Pervasive
         Computing and Communication Security (PerSec 2005) , 2005.

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

   [4]   Rekhter, Y., Li, T., and S. Hares, "A Border Gateway Protocol 4
         (BGP-4)", RFC 4271, January 2006.

   [5]   Bates, T., Chandra, R., and E. Chen, "BGP Route Reflection - An
         Alternative to Full Mesh IBGP", RFC 2796, April 2000.

   [6]   Patrick, M., "DHCP Relay Agent Information Option", RFC 3046,
         January 2001.

   [7]   Kaufman, C., Hoffman, P., Nir, Y., and P. Eronen, "Internet Key
         Exchange Protocol Version 2 (IKEv2)", RFC 5996, September 2010.

   [8]   Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS)
         Protocol Version 1.2", RFC 5246, August 2008.

   [9]   Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley,
         R., and W. Polk, "Internet X.509 Public Key Infrastructure
         Certificate and Certificate Revocation List (CRL) Profile",
         RFC 5280, May 2008.

   [10]  Myers, M., Ankney, R., Malpani, A., Galperin, S., and C. Adams,
         "X.509 Internet Public Key Infrastructure Online Certificate
         Status Protocol - OCSP", RFC 2560, June 1999.

   [11]  Hoffman, P. and J. Schlyter, "Using Secure DNS to Associate
         Certificates with Domain Names For TLS",
         draft-ietf-dane-protocol-16 (work in progress), February 2012.

   [12]  Hoffman, P. and J. Schlyter, "Using Secure DNS to Associate
         Certificates with Domain Names For S/MIME",
         draft-hoffman-dane-smime-01 (work in progress), August 2011.

   [13]  Wouters, P., Gilmore, J., Weiler, S., Kivinen, T., and H.
         Tschofenig, "TLS out-of-band public key validation",
         draft-wouters-tls-oob-pubkey-02 (work in progress),
         November 2011.



McCann                  Expires September 3, 2012              [Page 16]

Internet-Draft                  FlatArch                      March 2012


   [14]  Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H.
         Levkowetz, "Extensible Authentication Protocol (EAP)",
         RFC 3748, June 2004.

   [15]  "Draft Standard for Information Technology - Telecommunications
         and information exchange between systems -  Local and
         metropolitan area networks Specific requirements -  Part 11:
         Wireless LAN Medium Access Control (MAC) and Physical Layer
         (PHY) specifications", IEEE 802.11-REVma, 2006.

   [16]  Barker, E., Johnson, D., and M. Smid, "Recommendation for Pair-
         Wise Key Establishment Schemes Using Discrete Logarithm
         Cryptography (Revised)", NIST Special Publication 800-56A,
         March 2007, <http://csrc.nist.gov/publications/nistpubs/
         800-56A/SP800-56A_Revision1_Mar08-2007.pdf>.


Author's Address

   Peter J. McCann (editor)
   Huawei
   400 Crossing Blvd, 2nd Floor
   Bridgewater, NJ  08807
   USA

   Phone: +1 908 541 3563
   Email: peter.mccann@huawei.com
























McCann                  Expires September 3, 2012              [Page 17]