Internet DRAFT - draft-le-aaa-lsa-tsk

draft-le-aaa-lsa-tsk



AAA WG                                                 Stefano M. Faccin
INTERNET-DRAFT                                                 Franck Le
Date: July 2001                                    Nokia Research Center
Expires: January 2002




  AAA Local Security Association (LSA): The Temporary Shared Key (TSK)
                     <draft-le-aaa-lsa-tsk-00.txt>



Status of This Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   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.


Abstract

   This document describes a mechanism to set up a Local Security
   Association (LSA) between a user and the visited network when the
   user is roaming. It defines all the required related functionalities
   such as the key generation, distribution and update procedures; it
   also describes the reasons and the benefits of the adoption of such
   LSA. The applicability of this draft is mainly for AAA Diameter and
   for URP (User Registration Protocol), but the mechanism can be
   adopted more in general in each case where the user (or mobile node)
   needs to establish a security association with a foreign domain while
   roaming.




Faccin, Le                                                      [Page i]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001





















































Faccin, Le                                                     [Page ii]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


1.  Introduction

   When roaming to foreign domains, users need to be authorized by the
   foreign domain to get access to the local resources. The
   authorization generally implies that the user offers her/his
   credentials to a local agent (e.g. a local AAA server) in order to
   verify if the user is authorized (e.g. by roaming agreement between
   ISPs) and to authenticate the user.

   In general, when a user is roaming security associations (SA), may
   need to be set up between the user and agents of the visited domain.

      E.g. an SA may be needed between the user and the access router to
      protect data (confidentiality and integrity protection) over the
      access link.

      As another example, in the context of Mobile IP, an SA may be
      needed between the Mobile Node (MN) and the Home Agent (HA) when
      the Home Agent is assigned in the visited network, or between the
      MN and Mobility Agents when a Localized Mobility Management
      solution such as [1] or [2] is deployed).

   These security associations typically have a restricted lifetime, and
   when expired, they need to be refreshed.

   In addition, in order to avoid frauds, service providers need the
   ability to force a user to provide authentication information anytime
   during a session. Both the home service provider and the visited
   service provider need to have this capability.

   In the same way, to achieve better overall security the mobile node
   may want to challenge the network at any time e.g. to avoid network
   impersonation attacks, man in the middle attacks, etc.  All these
   procedures require the involvement of the Home AAA server, AAAh,
   since only the user and its home domain share a long-term key. This
   implies that several message round trips are needed between the
   visited and home domains in order to support the above mentioned
   authorization/authentication and key distribution procedures.  If the
   authentication and key distribution procedures are abused (e.g.
   performed too often), these message exchanges between the home and
   visited networks may create an excessive signaling load between the
   AAAh and AAAv, and may add delay in the procedure. Although
   authentication/authorization procedures require in some situation the
   involvement of home and visited domains (e.g. when the user roams for
   the first time to a foreign ISP and tries to get access), in several
   cases the adoption of an LSA allows for optimizations and empowers
   the visited service provider to authenticate the user at any time and
   perform key distribution without the involvement of the home domain,



Faccin, Le                                                      [Page 1]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   while still maintaining a good level of security.

   In some cellular systems such as the ones built according to the
   IS-41 standards, concepts similar to the Local Security Association
   have been defined. In IS-41 the functionality defined for LSA
   encompasses the processes by which the authentication center in the
   home network and the serving (visited) system manage the sharing of
   authentication responsibilities for a visiting mobile station by
   creating a temporary key that the mobile node and the visited system
   will share, and providing mechanisms to distribute it, refresh it and
   withdraw it. The sharing of this key gives the visited system
   significant local control over the authentication of a visiting
   mobile station. Moreover, it introduces optimizations in terms of
   signaling load towards the home system and delay involved in the
   authentication procedure.

   This document introduces the concept of a user specific LSA called
   Temporary Shared Key (TSK) established between between the visited
   network and the user. The TSK is established between the user and the
   visited domain with the involvement of the home domain, and allows to
   delegate functions such as entity authentication and key derivation
   to the visited domain, while performing such procedures securely
   because the user-specific Temporary Shared Key was created under the
   control of the home domain and securely distributed to the visited
   domain and the user.

   This document moreover specifies the extensions for the Diameter
   protocol to support the establishment of an LSA through the TSK.


2.  Assumptions

2.1.  Assumptions

   The security model for the TSK is represented in Figure 1 and is
   based on a set of key entities:

   The AAA Client (AAAc) is the function that allows the user to be
   authenticated and authorized by the visited network service provider
   in order to gain access to IP connectivity in the visited domain. In
   order to achieve this, the user provides its identity and
   authentication data to the AAAc in the local network, which then uses
   an AAA infrastructure to authenticate and authorize the user for
   usage of resources, and eventually transport other information. The
   specific details of the exchange between the user and the AAAc of
   authentication data (e.g. type of data, number of exchanges) is based
   on the specific authentication algorithm adopted. The AAAc can be an
   attendant, e.g. located in the default router or access router (the



Faccin, Le                                                      [Page 2]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   first router visible to the user in the network), the Registration
   Agent as defined in [12], [13], or can be any server located in the
   network. The mechanism defined in this draft applies to all this
   cases. In the rest of the document, this entity will be referred to
   AAAc for sake of generality.

                      Visited Domain                  Home Domain
                        +--------+                     +--------+
                        |abc.com |      (SA1)          |xyz.com |
                        |  AAAv  |<------------------->|  AAAh  |
                     +->| server |    server-server    | server |
                     |  +--------+    communication    +--------+
                     |             ^
                (SA2)|             | (SA4)
                     |             |
                     v             v
             +---------+ (SA4)+---------+
             |   AAA   |<---->|  Agent  |
             |  Client |      |(peer-entity)
             +---------+      +---------+
                    ^
                    |
                    |
                    v
             +--------+
             | Mobile |
             | Node   | mn@xyz.com
             +--------+

                       Figure 1. The Security Model

   The AAA infrastructure assumed in this draft is based on a network of
   AAA servers, and in particular the model considers the AAAv, i.e. the
   AAA server in the visited network, and the AAAh, i.e. the AAA server
   in the home network of the MN.

   Number of protocols also locates an "agent" (peer entity) in the
   network in order to deliver data packets to, or exchange protocol-
   specific signaling messages with, the user terminal. Mobile IP, IP
   Paging and SIP are examples of such protocols.  Any  of those agent-
   based protocols have a requirement or a recommendation to have a
   security key between a user terminal and an agent, which is used by
   the agent and the user terminal to authenticate and/or encrypt
   signaling messages exchanged between them. This shared key, between
   the user terminal and the agent of each protocol in the visited
   domain, usually cannot be pre-established but must be dynamically
   established. Authentication may be required before the key
   distribution is performed.



Faccin, Le                                                      [Page 3]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   The security model is based on a set of security associations between
   the entities in the model. Some of these security associations are
   pre-established i.e. are and constitute the basis of the security
   model:

   *  it is assumed that the home and the visited domains share a long-
      term security association (shown in Figure 1 as SA1) that is not
      specific to any particular user and that can be either dynamically
      set up or established off line as a result of a roaming agreement
      between the two networks. The mechanism adopted to set up such SA
      is outside the scope of this draft. In this document it is assumed
      in particular that SA1 exists between AAAh and AAAv. This security
      association is used by the AAA servers in the two networks to
      exchange information in a secure and mutually authenticated
      fashion;

   *  it is assumed that each network has its own security mechanism and
      security associations (shown in Figure 1 as SA2 and SA4) allowing
      entities in the same network to communicate in a secure and
      mutually authenticated way (e.g. using IPSEC and a local Public
      Key Infrastructure);

   *  it is assumed that each user, as a result of a subscription
      agreement with a home domain, has a long-term security association
      (SA3) with her/his home domain. Such security association allows
      the mutual authentication between the user and the home domain. In
      this document, it is assumed in particular that the user and the
      AAA home server (AAAh) share a common set of algorithms and a
      common set of keys. These algorithms and keys will be used to
      authenticate the user to the home domain and the home domain to
      the user. In case multiple algorithms are available, a negotiation
      may need to take place between the user and AAAh to select one
      when the user is authenticated and the TSK is
      established/refreshed. SA3 can also be used to derive other
      dynamic security associations as described in [4] and [7], and
      this document describes the Temporary shared Key set up and update
      based on SA3.


2.2.  Common Algorithms

   In order for an LSA to be adopted between the user and the visited
   domain, the user and the visited domain must have a set of common
   security algorithms that can be used to support the LSA. If the user
   and the visited domain do not have algorithm in common, no LSA can be
   adopted.





Faccin, Le                                                      [Page 4]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   Such algorithms are needed for:

   *  mutual authentication between the user and the visited domain

   *  ciphering and integrity protection of messages between the user
      and agent in the visited domain, if such feature is required

   *  distribution of dynamic keys between the user and agents in the
      visited domain based on the LSA.

   One single algorithm could be used for these functions, thus at least
   one common algorithm must be available to the user and the visited
   domain. In this document it is assumed that at least one common
   algorithm is available and known a priori. The case where negotiation
   is needed to determine whether there is a common algorithm and what
   this algorithm is, is outside the scope of this version of this
   draft. It is opinion of the authors that MD5 could be the default
   common algorithm used both for authentication and establishment of
   dynamic keys.


3.  Usage scenarios

3.1.  Use of TSK

   The Temporary Shared Key (TSK) is established between the user and
   the visited domain with the involvement of the home domain. This
   means that, during the user authentication, a TSK can be generated
   and distributed as described in the following sections. Once the TSK
   is available to the visited domain and the user, TSK is used for:

   *  authentication of the user by the visited domain, at any time;

   *  authentication of the visited domain by the user, at any time;

   *  control by the visited domain of key distribution between the user
      and agents in the visited domain. Usage scenario include (but are
      not limited to):

      -  key distribution between the user and an agent in visited
         domain (e.g. Access Router) to protect the data (e.g.
         encryption and integrity protection) exchanged over the access
         link;

      -  key distribution between the user and mobility agents in the
         visited domain. In the context of Mobile IP, if a Local
         Mobility Management scheme is adopted (e.g. as in [1] and [2]),
         the temporay key can be used to authenticate the Binding



Faccin, Le                                                      [Page 5]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


         Update/Binding Acknowledgement messages

   Through the use of TSK, the above functionality are performed without
   the involvement of the home domain, yet such procedures are performed
   securely because the user-specific Temporary Shared Key is created
   under the control of the home domain and securely distributed to the
   visited domain and the user.

   The agent in the visited domain to which the TSK is distributed to,
   could be the AAAv server, or a AAA client such as the Registration
   Agent mentioned in the discussion on URP ([12], [13]).


3.2.  Distribution of TSK in Visited Domain

   The TSK is distributed by the home domain to the visited domain, and
   in particular by the AAAh to the AAAv. Depending on the capabilities
   and type of the AAAc (e.g. AAAc is an URP RA versus a MIPv4 Foreign
   Agent), the TSK may or may not be provided by the AAAv to the AAAc.
   Accordingly to where the TSK is distributed, the authentication and
   key distribution procedures based on TSK will be performed in
   different entities (e.g. AAAv versus AAAc).


4.  TSK sharing option

   The TSK should be considered as an optional feature, so that the use
   of an LSA based on TSK can depend on network policies and roaming
   agreements. In fact, in order to maximize the security there may be
   cases in which the home domain will not be willing to share the TSK
   with the visited domain. This may happen when, as an example, the
   user moves to a visited domain that the home domain does not trust
   sufficiently.

   The TSK is a possible and suggested optimization to the security
   procedures in particularly when considering the signaling involved
   between the visited and the home domains, but whether an LSA is used
   (i.e. the Temporary Shared Key is provided to the visited domain)
   should depend on the home network policies.


5.  Computation and Distribution of the TSK

   This document focuses on the extensions to the Diameter protocol to
   support the TSK mechanism, but does not specify the protocol nor the
   message format used between the user and the AAAc. However, the
   document identifies the parameters that need to be exchanged by the
   user and the AAAc.  These parameters can be carried in many ways: in



Faccin, Le                                                      [Page 6]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   IPv6 Destination Options, in ICMPv6 messages, in URP messages, by
   EAP, etc. The specific protocol used to exchange such information is
   outside the scope of this document.

   When the user enters a new visited domain and first registers, its
   AAAh server is invoked to verify the validity of the user
   ([10],[11])and if the visited and home domains policies allow and
   suggest the use of the Temporary Shared Key, the TSK must be:

   *  generated: if no TSK had been previously established and
      distributed, a new TSK must be generated by the home domain;

   *  updated: if a TSK previously established and distributed to the
      user and visited domain is expired (e.g. limited lifetime) or it
      was previously used in a different visited domain and for sake of
      security it is policy of the home domain to generate a new TSK;

   *  distributed to the user and the visited domain: this applies both
      to the case where the TSK is generated/updated and the case where
      a previous value of TSK is used. In the latter scenario, the TSK
      need only to be distributed to the visited domain, since the user
      already has it, and the user needs to be informed that the
      previous TSK is still valid.

   It is opinion of the authors that the AAAh SHOULD update the
   Temporary Shared Key update process at least every time the MN is
   entering a new visited domain, otherwise the previous visited domain
   has the value of the Temporary Shared Key and could act on behalf of
   the user and carry out undesirable actions. The final choice should
   anyway be left to network policies.


5.1.  Creation and Distribution of Temporary Shared Key at Initial
Authentication

   The TSK computation and distribution can be integrated with the agent
   authentication at the first registration as indicated in the
   following sections.

   The TSK establishment procedure is independent of the authentication
   mechanism used to authenticate the user. Different EAP types or
   protocols can be adopted for authentication and are not described in
   this draft. For sake of clarity, two cases are illustrated:

   *  TSK establishment combined with Mutual Challenge Response
      Authentication based on Local Challenge





Faccin, Le                                                      [Page 7]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   *  TSK establishment combined with Challenge Response Authentication
      based on Home Challenge



5.1.1.  Mutual Challenge Response Authentication based on Local
Challenge


      User              AAA client       AAAv    AAAh
       |   LC, VN_ID         |              |       |
       |<--------------------|              |       |
       | ID, AUTHU, LC, HC   |              |       |
       |-------------------->|              |       |
       |                     |   LC,ID,AUTHU,HC,VN_ID
       |                     |------------->|       |
       |                     |              |------>|
       |                     |        RANDTSK,TSK,AUTHNET,HC
       |                     |              |<------|
       |                   RANDTSK,AUTHNET,HC       |
       |                     |<-------------|       |
       |                     |              |       |
       |  RANDTSK,AUTHNET,HC |              |       |
       |<--------------------|              |       |
       |                     |              |       |

      LC = Local Challenge
      HC = Host Challenge
      AUTHU = User authentication data
      ID = User Identifier
      VN_ID = Visited Network Identifier
      AUTHNET = Network authentication data

   This flow illustrates the TSK generation and distribution when a
   mutual authentication based on challenge response is used.

   As mentioned previously this document does not specify the protocol
   nor the messages format between the user and the attendant but
   identifies the parameters that need to be exchanged on that interface
   and describes the diameter extensions and network entities
   behaviours.

   In this case, the user e.g. uses the Local Challenge, the Visited
   Network Identifier, and the long-term key to compute some
   authentication data, AUTHU.

   The user may also generate a Host challenge, HC, to require network
   authentication.



Faccin, Le                                                      [Page 8]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   The AAA-V forwards the message to the AAAh including the Local
   Challenge and the Visited Network ID.  From the Local Challenge, the
   Visited Network ID and the user specific shared long-term key
   retrieved thanks to the user's NAI, the AAAh verifies the validity of
   the user

   It then computes the network authentication data, AUTHNET, from the
   Host Challenge, and eventually generates some keying material if the
   AAA servers are requested to play a role in the key distribution.

   At that point, if the AAAh and AAAv decide to use the Temporary
   Shared Key, the AAAh generates a new random number called the the
   RandomVariableTSK (RANDTSK) and executes the algorithm shared with
   the MN using the long term shared key (SA3) to compute the new
   "pending" TSK.  The AAAh sends the RANDTSK to the MN and sends the
   corresponding Temporary Shared Key to the AAAv:

   The TSK-AVP can be sent in any already defined command code such as
   the Diameter-EAP-Answer (DEA) Command or the AA-Mobile-Node-Answer
   (AMA) Command. This AVP will carry the "pending" TSK to the visited
   domain (AAAv) and therefore, the messages need to be protected
   between the AAAh and the AAAv. This inter AAA security association is
   out of the scope of this document.

   The RandomVariableTSK (RANDTSK) can be sent, in a RANDTSK-AVP, in the
   same way as the TSK-AVP, i.e. in any already defined command code
   such as the Diameter-EAP-Answer (DEA) Command or the AA-Mobile-Node-
   Answer (AMA) Command. The RANDTSK is intended to the user so it can
   derive the corresponding TSK. The AAAc will therefore convert the
   RANDTSK-AVP to the appropriate protocol to send it to the user.

   As mentioned previously, the protocol between the user and the AAAc
   is out of the scope of this document: The RANDTSK could be sent to
   the client in a Destination Option, ICMPv6 message, BURP protocol,
   etc.

   The AAAh MUST use inter AAA servers security to protect the message
   to the AAAv

   The MN verifies the authenticity of the network thanks to the network
   authentication data, AUTHNET, computed from the Host Challenge.

   If RANDTSK is provided to the MN, the MN derives, from the long-term
   key and the common algorithm shared with its AAAh server, the
   corresponding TSK to use for   subsequent agent authentication and
   key distribution procedures.





Faccin, Le                                                      [Page 9]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   The User receives the RANDTSK in the message carrying the network
   authentication data, AUTHNET, and can therefore be sure that the
   information is coming from its Home network.



5.1.2.  Challenge Response Authentication based on Home Challenge

   Before distributing the TSK, authentication may be required. The
   previous figure described how TSK generation and distribution can be
   combined. But TSK procedures are independent to the authentication
   methods and for sake of generality, TSK generation and distribution
   is described combined with a Challenge Response Auethntication based
   on Home Challenge such as the Authentication and Key Agreement
   protocol [14]:


      User              AAA client       AAAv    AAAh
       |   User_ID           |  User_ID     |       |
       |-------------------->|------------->|------>|
       |    RAND, AUTN       |  RAND, AUTN  |RAND, AUTN
       |<--------------------|<-------------|<------|
       |    RANDTSK          |  RANDTSK     |RANDTSK, TSK
       |                     |              |       |
       |                     |              |       |
       |    RES              |              |       |
       |-------------------->|------------->|------>|
       |<--------------------|<-------------|<------
       |                     |              |       |

   The authentication method SHOULD allow both user and network
   authentication.


5.2.  Temporary Shared Key Update Function

   The previous sections described the TSK generation and distribution
   but te Home network MUST also be able to update the TSK at any time
   when the MN is in a visited domain and the TSK is shared: As an
   example, the TSK may get corrupted and the Home network MUST be able
   to revocate the TSK by performing a new TSK update.

   The Temporary Shared Key (TSK) Update function encompasses the
   process by which the current TSK used by a user and the visited
   domain is changed to a new value under the direction of the AAAh.

   TSK Update applies also to the case where a user and the visited
   domain do not share a TSK and a new TSK needs to be generated. Only



Faccin, Le                                                     [Page 10]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   the AAAh may initiate the update of the current value of TSK, and
   AAAh can do this at any time during a session according to the home
   domain policies.

   On the network side, a user authentication process could be executed
   immediately after the TSK Update to confirm that the target User has
   successfully changed its TSK: the network sends a challenge to the MN
   and based on the expected received authentication data that MUST be
   from the TSK, the network can make sure the TSK update had been
   successful and the User is having the new TSK value. This would
   ensure that the User will be able to authenticate itself and the
   network in the future.

   On the User side, the User initiates a network authentication
   procedure when the User is directed by the network to change its TSK.
   This authentication procedure allows the User to authenticate the
   network issuing the TSK Update, thus preventing a fraudulent network
   from disrupting the normal network operation by forcing the User's
   TSK out of alignment with the legitimate network TSK.

   The TSK update includes AAAh TSK update process and the serving
   system TSK update process.



5.2.1.  TSK update process in AAAh

   The AAAh may initiate the TSK update process at any moment when the
   User is in a visited domain and is sharing TSK. The decision on when
   the TSK is updated is based on home domain policies. TSK should not
   be changed too often, otherwise the benefits of TSK disappear. At the
   same time, TSK must have a lifetime to ensure that the same TSK is
   not used for too long.  The first step in the TSK update process is
   for the AAAh to execute the algorithm shared with the User using the
   long term shared key and a random number, called the
   RandomVariableTSK (RANDTSK). The result is the new "pending" TSK.

   The AAAh then sends respectively the RANDTSK and the new TSK to the
   AAAv in a RANDTSK-AVP and TSK-AVP to the AAAv: Those AVPs can be sent
   in any already defined command code such as the Re-Auth-Request
   (RAR).  The AAAh then waits for a report from the AAAv. With the
   RANDTSK and the new TSK, the AAAv can:

   -  update the TSK in the MN

   -  respond to the network authentication request from the MN





Faccin, Le                                                     [Page 11]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   -  verify the update by issuing a user specific authentication
      procedure to the MN



5.2.2.  TSK update process in AAAv/AAAc

   The serving system begins the TSK update process when it receives the
   RANDTSK parameter from the AAAh. The message also contains the new
   TSK Key.

   -  The AAAv directs the serving router to send a TSK Key update
      order, including RANDTSK, to the MN.

   -  The MN responds with a network authentication request including
      the challenge selected by the MN, RANDNET

   -  the AAAv executes the shared algorithm using as inputs the MN's
      challenge RANDNET, and the new TSK. The result of the calculation
      is AUTHNET which is sent to the MN.

   -  Depending if AUTHNET equals to the expected corresponding result,
      the MN indicates a successful or an unsuccessful TSKupdate in a
      message to the AAAv

   -  If successful, the serving system executes the user specific
      authentication procedure: It challenges the user sending it a
      randomly generated number RANDU to authenticate him and make sure
      the User now has the correct TSK value. The User takes RANDU and
      the newly derived TSK as inputs to a shared algorithm with the
      serving system and computes AUTHU. The AAAv performs the same
      steps and can thus verify that the user has updated the TSK value.
      Otherwise AAAv reports the failure to the AAAh.


















Faccin, Le                                                     [Page 12]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


              User       AAA Client/AAAv          AAAh
                |                |                   |
                |                |  RANDTSK, TSK     |
                |                |<------------------|
                |                |                   |
                |                |                   |
                |   RANDTSK      |                   |
                |<---------------|                   |
                |                |                   |
                |   RANDNET      |                   |
                |--------------->|                   |
                |                |                   |
                |   AUTHNET      |                   |
                |<---------------|                   |
                |                |                   |
                |   success      |                   |
                |--------------->|                   |
                |                |                   |
                |   RANDU        |                   |
                |<---------------|                   |
                |                |                   |
                |   AUTHU        |                   |
                |--------------->|    AAA Report     |
                |                |------------------>|
                |                |                   |
                |                |    AAA Report ack |
                |                |<------------------|
                |                |                   |

The AAA Report can be sent in a Diameter-EAP-Request (DER) Command, and
the AAA Report ack in a Diameter-EAP-Answer (DEA) Command.


5.3.  Distribution of Previously Established TSK

   As described in section 5, there is the case where the User and its
   Home network already have a TSK set up and want to re-use when
   entering in the Visited domain. In that case:

   *  the TSK needs to be distributed to the visited network (from AAAh
      to AAAv)

   *  the TSK does not need to be sent to the user since he already has
      knowledge of it. But an indication still need to be provided to
      the user to inform him to start using the TSK. This can e.g. be
      achieved by setting a specific value in the RANDTSK field sent to
      the user.




Faccin, Le                                                     [Page 13]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


      User              AAA client       AAAv    AAAh
       |   LC, VN_ID         |              |       |
       |<--------------------|              |       |
       | ID, AUTHU, LC, HC   |              |       |
       |-------------------->|              |       |
       |                     |   LC,ID,AUTHU,HC,VN_ID
       |                     |------------->|       |
       |                     |              |------>|
       |                     |        RANDTSK,TSK,AUTHNET,HC
       |                     |              |<------|
       |                   RANDTSK,AUTHNET,HC       |
       |                     |<-------------|       |
       |                     |              |       |
       |  RANDTSK,AUTHNET,HC |              |       |
       |<--------------------|              |       |
       |                     |              |       |



6.  Entity authentication and key distribution using the TSK

   This section describes how the TSK sharing enables the Visited domain
   to perform entity authentication and key distribution without
   involving the home network thus reducing the time delay and the
   signaling between the two domains.


6.1.  User authentication using TSK

   In many current authentication mechanisms, the user computes the
   authentication data based on a long-term key shared with its AAAh.
   For Challenge Response based authentication mechanism, the user e.g.
   takes the challenge and eventually some additional informational with
   the long-term key to a hash function and thus compute the
   authentication data.

   The exact algorithm used to compute the AAA Credential depends on the
   security association between the user and AAAh.

   The authentication data is thus computed using a long-term key shared
   between the user and the AAAh, some other information and an
   algorithm.

   When the TSK mechanism is used, the user takes the same inputs but
   instead of using the long term key it shares with its AAAh, the user
   uses the TSK it shares with the AAAv and the shared algorithm. The
   visited system having the TSK and the shared algorithm can then
   authenticate the user without invoking its home network.



Faccin, Le                                                     [Page 14]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


6.2.  Network authentication using TSK

   The user may want to authenticate the network and thus generates a
   random number, the Host Challenge, to challenge the network. In such
   case, the user expects a network authentication data computed by the
   AAAh using the Host Challenge and currently, the long term shared
   key. The exact algorithm used to compute the AAA Credential depends
   on the security association between the user and AAAh.

   If the TSK mechanism is used, the user sends the Host Challenge to
   authenticate the network and the AAAv applies the common algorithm to
   the Host Challenge and the TSK to compute the authentication data,
   i.e. the network authentication data.

   Network authentication is thus provided without involving the AAAh.


6.3.  Key distribution using TSK

   Without the use of an LSA, key distribution between the user and
   agents in the visited domain is usually based on the long-term
   security association between the user and its AAAh. This security
   association is used to create derivative security associations
   between the mobile node and agents in the visited domain.

   When TSK is adopted, the user receives the indication that TSK is to
   be used, and therefore the user uses the TSK instead of the long-term
   key to compute the keys. In this way, since the AAAc/AAAv (depending
   on what agent the TSK was provided to as indicated in section 3.2)
   uses the TSK as well for the key distribution, the keys will be
   available to the user and to AAAc/AAAv and AAAh does not need to be
   involved in the procedure.

   The method used by the AAAc/AAAv to distribute the generated keys to
   other agents in the visited domain is outside the scope of this
   draft.

   The key distribution can be based on random numbers (as e.g.
   described in [4]) and in this case, the AAAc/AAAv generates the
   random number and combines it with some other data such as the user
   identity or IP address to form an input with the TSK to a key
   derivation algorithm. The random number is transmitted to the user
   which by performing the same operations and having knowledge of the
   TSK, ends up with the same derived session key.

   As another key distribution possibility, the user and the agent in
   the visited network can decide to set up a key based on Diffie
   Hellman. The major vulnerability of this mechanism is authentication



Faccin, Le                                                     [Page 15]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   to prevent man in the middle attacks and the TSK shared between the
   user and the visited network can provide this Diffie Hellman value
   authentication.

   Random number and Diffie Hellman based key distributions are
   described are examples but other key distribution schemes can apply.


7.  Comparison with existing earlier solutions

   Previous Request For Comments and Internet Drafts documents specify
   extensions and suggest mechanisms to distribute the session keys to
   be shared between the user e.g. the mobile node and other entities
   such as mobility agents.  Those security associations are to provide
   data origin authentication of the Binding update and binding
   acknowledgement messages as required by Mobile IPv6.

   But when the lifetime of these session keys expires, a new key
   distribution procedure (e.g. as defined in [4]) needs to be executed
   involving the home network.  The message round trips between the
   serving and home domain imply time delays, and increase the load over
   the network.  To avoid these issues, one possible solution seems to
   give longer lifetime to the session keys. But long lifetime session
   keys have higher risks to get compromised and thus, a key revocation
   procedure needs to be defined to solve this induced problem.
   Refreshing short-time keys is preferrable (same concepts are adopted
   in cellular networks) and the Temporary Shared Key mechanism enables
   to refresh short-time session keys without having to involve the Home
   network.

   The Temporary Shared Key sharing is therefore an enhancement and
   optimization of the existing schemes.

   In addition, the keys defined in current proposals are used to
   provide data origin authentication, but the home and the visited
   domain should be able to perform agent authentication for the mobile
   node based on challenge response based mechanism [6].  The Temporary
   Shared Key enables to perform that user entity authentication, and
   network entity authentication without involving the Home network.


8.  Pros and Cons of the Temporary Shared Key sharing

   The Temporary Shared Key sharing is a function enabling the serving
   system to securely perform entity authentication and key distribution
   functions with the user on behalf of the home network but without
   having to involve the home network, thus saving round trips between
   the visited and home networks and reducing time delay and network



Faccin, Le                                                     [Page 16]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   load.

   This mechanism enables to provide strong network authentication such
   as challenge response based mechanism without having to involve the
   AAAh.

   It is a possible optimization and the home and visited system can
   decide to use it or not based on policies and common agreements.

   The only requirement of this Temporary Shared Key is to have a common
   algorithm between the User and the AAAv to perform authentication and
   key distribution.


9.  Messages format

   This document introduces 8 new AVPs to the Diameter Protocol. They
   are currently suggested as extensions to the Diameter NASREQ
   Extensions [8] or to the Diameter Base Protocol but if preferred, a
   new Application to the Diameter Base Protocol could be specified with
   its own Command Codes to perform the TSK Update procedures and all
   the other functions described above.  Having a new Application to the
   Diameter Base Protocol allows the AAA servers to identify which ones
   support the TSK mechanism; otherwise the TSK should be part of an
   Application such as the Diameter Base Protocol, or the Diameter
   NASREQ Application.

   As mentioned previously, this document defines additions to the
   Diameter Protocol but does not focuses on the protocol between the
   user and the AAA Client: it only describes that need to be exchanged
   over that interface.  The identified information can then be carried
   as IPv6 Destination Options, ICMPv6 messges or any other means.


9.1.  RANDTSK-AVP

   The RANDTSK-AVP (AVP Code TBD) is of type OctetString. It is used to
   carry the RANDTSK value from the AAA server to the User in two cases:

   *  to indicate to the Client to use the TSK

   *  to update the TSK

   This AVP is therefore used from the AAAh to the AAAv, and from the
   AAAv to the AAA User.

   The RANDTSK can be carried in a RAR [10], DEA [8], or AMA command
   [9].  In the case of a TSK Update procedure, the RANDTSK should be



Faccin, Le                                                     [Page 17]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   sent in a RAR [10] command.

   A well defined, a priori known, specific value of the RANDTSK (TBD)
   allows the home network to indicate the user to start using the
   current TSK value without updating it as described in section 5.3.

   Another well defined, a priori known, specific value of the RANDTSK
   (TBD) allows the home network to indicate the user to stop using the
   current TSK.


9.2.  TSK-AVP

   The TSK-AVP (AVP Code TBD) is of type OctetString. It is used by the
   AAAh to indicate the utilization and inform of the value of the TSK
   to the AAAv. The TSK-AVP carries the Temporary shared Key value and
   therefore must be protected (P bit set to 1).  When the AAAh wants to
   update the TSK, it also sends the TSK-AVP to the AAAv to inform it to
   perform a TSK Update procedure. In such case, the TSK-AVP carries the
   value of the new TSK.

   The TSK can be carried in a RAR [10], DEA [8], or AMA command [9]. In
   the case of a TSK Update procedure, the TSK should be sent in a RAR
   [10] command.


9.3.  RANDNET-AVP

   The RANDNET-AVP (AVP Code TBD) is of type OctetString. It carries the
   challenge randomly generated by the User to authenticate the network.
   This RANDNET-AVP is therefore sent from the AAA Client to the AAAv:
   it can be carried e.g. in a DER Command [8] and in response the AAAv
   should compute the AUTHNET.


9.4.  AUTHNET-AVP

   The AUTHNET-AVP (AVP Code TBD) is of type OctetString. It carries the
   network authentication data and is sent in response to a RANDNET. The
   AUTHNET-AVP can thus be carried from the AAAv to the AAA Client in a
   DEA or RAR [10].


9.5.  RANDU-AVP

   The RANDU-AVP (AVP Code TBD) is of type OctetString. It carries the
   challenge randomly generated by the AAAv to authenticate the User and
   make sure the User has updated the TSK. This RANDU-AVP is therefore



Faccin, Le                                                     [Page 18]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   sent from the AAAv to the AAA client: it can be carried in a DEA or
   RAR [10] and in response the User should compute the AUTHU.


9.6.  AUTHU-AVP

   The AUTHU-AVP (AVP Code TBD) is of type OctetString. It carries the
   user authentication data and is sent in response to a RANDU. The
   AUTHU-AVP can thus be carried from the AAA Client to the AAAv in a
   DER command [8].


9.7.  AAA-Report-AVP

   The AAA-Report-AVP (AVP Code TBD) is of type Unsigned32. It carries
   the result (failure/success) from the AAAv to the AAAh and can
   therefore be sent in a DER Command [8].


9.8.  AAA-Report-ack-AVP

   The AAA-Report-ack-AVP (AVP Code TBD) is of type Unsigned32. This AVP
   is sent from the AAAh to the AAAv and can thus be carried in a DEA
   command [8].


10.  Security Considerations

   This document introduces the concept of securely delegating part of
   the security functions to the Visited domain to avoid delays in
   authentication and key distribution procedures and reduce signaling
   load between the visited and home Domains. The Temporary Shared Key
   mechanism is an optimization that AAAV and AAAh may decide to use or
   not based on policies and roaming agreements.

   In the case the Home network decides neither to generate nor to
   update but to reuse the existing TSK while the user is roaming to a
   new domain as described in section 5.3, the previously visited domain
   still having knowledge of the current TSK value may perform
   undesirable operations on behalf of the user.  It is therefore
   opinion of the authors that the AAAh SHOULD update the Temporary
   Shared Key update process at least every time the MN is entering a
   new visited domain.








Faccin, Le                                                     [Page 19]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


11.  Intellectual Property Considerations

   Nokia Corporation and/or its affiliates hereby declare that they are
   in conformity with Section 10 of RFC 2026. Nokia's contributions may
   contain one or more patents or patent  applications. To the extent
   Nokia's contribution is adopted to the specification, Nokia
   undertakes to license patents technically necessary to implement the
   specification on fair, reasonable and nondiscriminatory terms based
   on reciprocity.










































Faccin, Le                                                     [Page 20]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


12.  References

   [1]       Jari T. Malinen and Charles E. Perkins. Mobile IPv6
             Regional Registrations. Internet Draft, Internet
             Engineering Task Force, December 2000.

   [2]       Hesham Soliman, Claude Castelluccia, Karim El-Malki, and
             Ludovic Bellier. Hierarchical MIPv6 mobility management.
             Internet Draft, Internet Engineering Task Force, September
             2000.

   [3]       N. Asokan, Patrik Flykt, Charles E. Perkins and Thomas
             Eklund AAA for IPv6 Network Access. Internet Draft,
             Internet Engineering Task Force, January 2000.

   [4]       Charles E. Perkins and Pat R. Calhoun. AAA Registration
             Keys for Mobile IP. Internet Draft, Internet Engineering
             Task Force, July 2001.

   [5]       Alfred J. Menzes, Paul C. van Oorschot, Scott A. Vanstone,
             "Hamndbook of Applied Cryptography" Kerberos Authentication
             protocol, p 501-502

   [6]       Franck Le, Raj Patil and Stefano M. Faccin. Challenge-
             Response Authentication Request. Internet Draft, Internet
             Engineering Task Force, February 2001.

   [7]       Franck Le and Stefano M. Faccin, Key distribution for
             Mobile IPv6. Internet Draft, Internet Engineering Task
             Force, February 2001.

   [8]       Pat R. Calhoun, William Bulley, Allan C. Rubens, Tut
             Systems, Jeff Haag, Glen Zorn, "Diameter NASREQ
             Extensions", Internet Draft, Internet Engineering Task
             Force, May 2001.

   [9]       Pat R. Calhoun, Charles E. Perkins, "Diameter Mobile IPv4
             Extensions" , Internet Draft, Internet Engineering Task
             Force, May 2001.

   [10]      Pat R. Calhoun, Haseeb Akhtar, Jari Arkko, Erik Guttman,
             Allan C. Rubens, Glen Zorn, "Diameter Base Protocol",
             Internet Draft, Internet Engineering Task Force, June 2001.

   [11]      Stefano M. Faccin, Franck Le, Basavaraj Patil, Charles E.
             Perkins, "Diameter Mobile IPv6 Application, Internet Draft,
             Internet Engineering Task Force, July 2001.




Faccin, Le                                                     [Page 21]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   [12]      Subir Das, Anthony McAuley, Basavaraj Patil, Henry
             Haverinen, Yoshihiro Ohba, Shinichi Baba, "Basic User
             Registration Protocol (BURP) Requirements", Internet Draft,
             Internet Engineering Task Force, January 2001.

   [13]      Yoshihiro Ohba, James Kempf, Phil Roberts, Barani Subbiah,
             Basavaraj Patil, Henry Haverinen, Hesham Soliman, "Usage
             Scenarios of a User Registration Protocol (URP)", Internet
             Draft, Internet Engineering Task Force, July 2001.

   [14]      J. Arkko, H. Haverinen, "EAP AKA Authentication", Internet
             Draft, Internet Engineering Task Force, May 2001.







































Faccin, Le                                                     [Page 22]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


13.  Authors' Addresses


   Stefano M. Faccin
   Nokia Research Center
   6000 Connection Drive
   Irving, TX 75039
   USA

   Phone:  +1 972 894-4994
   E-mail: stefano.faccin@nokia.com


   Franck Le
   Nokia Research Center
   6000 Connection Drive
   Irving, TX 75039
   USA

   Phone:  +1 972 374-1256
   E-mail: franck.le@nokia.com






























Faccin, Le                                                     [Page 23]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


                           Table of Contents


Status of This Memo  . . . . . . . . . . . . . . . . . . . . . . . .   i

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   i

1. Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . .   1

2. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.1. The Security Model . . . . . . . . . . . . . . . . . . . . .   2
   2.2. Common Algorithms  . . . . . . . . . . . . . . . . . . . . .   4

3. Usage scenarios . . . . . . . . . . . . . . . . . . . . . . . . .   5
   3.1. Use of TSK . . . . . . . . . . . . . . . . . . . . . . . . .   5
   3.2. Distribution of TSK in Visited Domain  . . . . . . . . . . .   6

4. TSK sharing option  . . . . . . . . . . . . . . . . . . . . . . .   6

5. Computation and Distribution of the TSK . . . . . . . . . . . . .   6
   5.1. Creation and Distribution of Temporary Shared Key at
   Initial Authentication  . . . . . . . . . . . . . . . . . . . . .   7
      5.1.1. Mutual Challenge Response Authentication based on
      Local Challenge  . . . . . . . . . . . . . . . . . . . . . . .   8
      5.1.2. Challenge Response Authentication based on Home
      Challenge  . . . . . . . . . . . . . . . . . . . . . . . . . .  10
   5.2. Temporary Shared Key Update Function . . . . . . . . . . . .  10
      5.2.1. TSK update process in AAAh  . . . . . . . . . . . . . .  11
      5.2.2. TSK update process in AAAv/AAAc . . . . . . . . . . . .  12
   5.3. Distribution of Previously Established TSK . . . . . . . . .  13

6. Entity authentication and key distribution using the TSK  . . . .  14
   6.1. User authentication using TSK  . . . . . . . . . . . . . . .  14
   6.2. Network authentication using TSK . . . . . . . . . . . . . .  15
   6.3. Key distribution using TSK . . . . . . . . . . . . . . . . .  15

7. Comparison with existing earlier solutions  . . . . . . . . . . .  16

8. Pros and Cons of the Temporary Shared Key sharing . . . . . . . .  16

9. Messages format . . . . . . . . . . . . . . . . . . . . . . . . .  17
   9.1. RANDTSK-AVP  . . . . . . . . . . . . . . . . . . . . . . . .  17
   9.2. TSK-AVP  . . . . . . . . . . . . . . . . . . . . . . . . . .  18
   9.3. RANDNET-AVP  . . . . . . . . . . . . . . . . . . . . . . . .  18
   9.4. AUTHNET-AVP  . . . . . . . . . . . . . . . . . . . . . . . .  18
   9.5. RANDU-AVP  . . . . . . . . . . . . . . . . . . . . . . . . .  18
   9.6. AUTHU-AVP  . . . . . . . . . . . . . . . . . . . . . . . . .  19
   9.7. AAA-Report-AVP . . . . . . . . . . . . . . . . . . . . . . .  19



Faccin, Le                                                   [Page xxiv]





INTERNET-DRAFT                 AAA LSA TSK                     July 2001


   9.8. AAA-Report-ack-AVP . . . . . . . . . . . . . . . . . . . . .  19

10. Security Considerations  . . . . . . . . . . . . . . . . . . . .  19

11. Intellectual Property Considerations . . . . . . . . . . . . . .  20

12. References . . . . . . . . . . . . . . . . . . . . . . . . . . .  21

13. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . .  23










































Faccin, Le                                                    [Page xxv]