Network Working Group J. Bournelle (Ed.) Internet-Draft M. Laurent-Maknavicius Expires: August 19, 2005 GET/INT H. Tschofenig Siemens Y. El Mghazli Alcatel G. Giaretta TILab R. Lopez Univ. of Murcia Y. Ohba Toshiba February 18, 2005 Use of Context Transfer Protocol (CxTP) for PANA draft-bournelle-pana-ctp-02 Status of this Memo This document is an Internet-Draft and is subject to all provisions of section 3 of RFC 3667. By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she become aware will be disclosed, in accordance with RFC 3668. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on August 19, 2005. Copyright Notice Bournelle (Ed.), et al. Expires August 19, 2005 [Page 1] Copyright (C) The Internet Society (2005). Internet-Draft CxTP for PANA February 2005 Abstract The PANA protocol offers a way to authenticate clients in IP based access networks. However, in roaming environments IP clients might change of gateways and new EAP authentication from scratch may occur. To enhance IP handover in mobile environments, the Context Transfer Protocol (CxTP) could be used. This protocol could recover from previous PANA Authentication Agent the PANA security context previously established. The aim of this document is to analyze and to describe the different approaches to perfom the transfer. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1 PANA overview . . . . . . . . . . . . . . . . . . . . . . 5 3.1.1 IPsec based access control . . . . . . . . . . . . . . 5 3.1.2 Limitations . . . . . . . . . . . . . . . . . . . . . 6 3.2 CxTP overview . . . . . . . . . . . . . . . . . . . . . . 6 4. General considerations in the use of CxTP for PANA . . . . . . 8 4.1 Conditions to Perform the Transfer . . . . . . . . . . . . 8 4.2 Context Identification . . . . . . . . . . . . . . . . . . 8 4.3 Transfer of AAA-Key . . . . . . . . . . . . . . . . . . . 9 4.4 Interaction with the AAA infrastructure . . . . . . . . . 10 4.5 The PANA Context . . . . . . . . . . . . . . . . . . . . . 12 5. First approach: use of CxTP between PAAs . . . . . . . . . . . 15 5.1 PANA solution . . . . . . . . . . . . . . . . . . . . . . 15 5.2 CxTP friendly approach . . . . . . . . . . . . . . . . . . 16 5.2.1 Operations in reactive mode . . . . . . . . . . . . . 16 5.2.2 Operations in predictive mode . . . . . . . . . . . . 18 5.3 Optimized approach . . . . . . . . . . . . . . . . . . . . 19 5.3.1 Operations in the Reactive mode . . . . . . . . . . . 19 5.3.2 Operations in the Predictive mode . . . . . . . . . . 21 5.4 PANA with CxTP between PAAs interactions . . . . . . . . . 21 5.5 Issues . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6. Second approach: use of CxTP between ARs . . . . . . . . . . . 23 6.1 Predictive case . . . . . . . . . . . . . . . . . . . . . 23 6.2 Reactive case . . . . . . . . . . . . . . . . . . . . . . 25 6.3 Considerations on the AR-PAA communications . . . . . . . 26 7. Security considerations . . . . . . . . . . . . . . . . . . . 27 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 28 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 29 Intellectual Property and Copyright Statements . . . . . . . . 31 Bournelle (Ed.), et al. Expires August 19, 2005 [Page 2] Internet-Draft CxTP for PANA February 2005 1. Introduction In IP based access network, PANA [I-D.ietf-pana-pana] may be used as a front-end to a AAA architecture in order to authenticate users before granting them access to the resources. For this purpose, it uses EAP which offers a variety of authentication methods. In a shared medium this is typically accomplished with the help of cryptographic mechanisms. Note that this type of cryptographic mechanism prevents a malicious node from sending packet to the network and thereby authenticating each data packet. In addition, encryption is often enabled to prevent eavesdropping. While roaming, the PANA client might change its access router. Without extensions to PANA the PaC has to restart a new PANA protocol exchange to authenticate itself to the network. In some cases it is necessary to execute the EAP exchange from scratch whereas in other cases it might be possible to benefit from state stored at the visited networks AAA server. This procedure is known as fast resume. In this document, we analyse the interaction between the framework defined in [I-D.ietf-seamoby-ctp] and PANA. In particular, we define what should be transferred (i.e. the PANA context) and the interactions with the AAA infrastructure. We can envision two different approaches: in the first one, the transfer occurs between authentication agents whereas, in the second one, we perform the transfer between access routers. In the latter, we need a protocol or an API for the AR-PAA communications. For the first approach, three possible solutions are explained. The first one is the solution given in the PANA specification [I-D.ietf-pana-mobopts]. In the second solution, a CxTP friendly is proposed while the third solution is an optimized version of the previous one. For the second approach, the transfer occurs between access routers as specified by CxTP. PANA contexts are stored in PAA, thus ARs will need an interface to collect context. The reactive mode and predictive mode are presented. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 3] Internet-Draft CxTP for PANA February 2005 2. Terminology Most of the terms are defined in the PANA [I-D.ietf-pana-pana] and CxTP [I-D.ietf-seamoby-ctp] specifications: nAR New Access Router. The router to which the PaC attaches after the handover. pAR Previous Access Router. The router to which the PaC was attached before the handover. CTAA Context Transfer Activate Acknowledge. CTAR Context Transfer Activate Request. CTD Context Transfer Data. CxTP Context Transfer Protocol. EP Enforcement Point. (PANA term) FPT Feature Profile Type (CxTP term). PaC PANA Client. A mobile node (MN) using a PANA protocol implementation to authenticate itself to the network. PAA PANA Authentication Agent. The access network (server) side entity of the PANA protocol. A PAA is in charge of interfacing with the PaCs for authenticating and authorizing them for the network access service. nPAA New PANA Authentication Agent. The PAA in charge of the subnet to which the PaC is attached after the handover. pPAA Previous PANA Authentication Agent. The PaC's default PAA prior to handover. PANA Protocol for Carrying Network Authentication for Network Access Bournelle (Ed.), et al. Expires August 19, 2005 [Page 4] Internet-Draft CxTP for PANA February 2005 3. Background 3.1 PANA overview PANA is a protocol that carries EAP over IP/UDP to authenticate users. The PANA Authentication Agent (PAA) is the endpoint of the PANA protocol at the access network. The PAA itself might not be able to authenticate the user by terminating the EAP protocol. Instead the PAA might forward the EAP payloads to the backend AAA infrastructure. The Enforcement Point (EP) is an entity which enforces the result of the PANA protocol exchange. The EP might be co-located with the PAA or separated as a stand-alone device. In the latter case, the SNMPv3 protocol [I-D.ietf-pana-snmp] is used to communicate between PAA and EP. A successful EAP authentication exchange results in a PANA security association (PANA SA) if the EAP method was able to derive session keys. In this case, all further PANA messages between PaC and PAA will be authenticated, replay and integrity protected thanks to the MAC AVP. 3.1.1 IPsec based access control [I-D.ietf-pana-ipsec] describes how PANA could enable IPsec between PaC and the EP. An IKE pre-shared key is distributed to the EP and locally derived from the AAA-Key for the PANA client. Then, IKE is used to setup an ESP tunnel. Figure 1 describes a possible architecture, AR/EP is the default router of the PaC and all its traffic is protected by the ESP tunnel. +----- PAA | | PaC ================= AR/EP (ESP tunnel) Figure 1: PANA IPsec based access control Bournelle (Ed.), et al. Expires August 19, 2005 [Page 5] Internet-Draft CxTP for PANA February 2005 3.1.2 Limitations PaC ------------ pEP ---- pPAA | | | | | +------ pAR (roaming) | | v PaC ------------ nEP ---- nPAA | | +------ nAR Figure 2: Example Scenario Figure 2 shows an example scenario with a roaming PaC which has been previously authenticated. The PAA must be at one IP hop away from PaC; this means that a specific PANA module on a PAA is in charge of one IP network. After a PaC's IP handover, the PaC changes of IP subnet and of PAA accordingly. The new PAA (nPAA) does not share any context with the PaC. The new EP (nEP) will detect the PaC and will trigger a new PANA authentication phase from scratch. A new authentication phase involving the AAA infrastructure will then occur. Such a signaling can seriously degrades handover performance in term of latency. For this reason, we propose to use the Context Transfer Protocol (CxTP) to transfer PANA context established with the PaC from pPAA to the nPAA. 3.2 CxTP overview Context Transfer Protocol (CxTP) [I-D.ietf-seamoby-ctp] enables context transfers between access routers (ARs). The context transfer can be either initiated by a request from the mobile node ("mobile initiated") or at the initiative of either the new or the previous access router ("network initiated"). Furthermore it can be performed prior to handover ("predictive mode") or after the handover ("reactive mode"). In reactive mode, the MN sends a CT Activate Request (CTAR) to the new AR (nAR). In this message the MN includes an authorization token: this token is calculated based on a secret shared between the MN and the previous AR (pAR) and it is used in order to authorize the transfer. This means that the MN and the pAR must share a secret. The definition of this secret is out of scope of CxTP. As soon as Bournelle (Ed.), et al. Expires August 19, 2005 [Page 6] Internet-Draft CxTP for PANA February 2005 the nAR receives a CTAR message, it generates a CT-Request message which includes the authorization token and the context to be transferred (i.e. Feature Profile Types). This message is received by the pAR that verifies the authorization token and sends a Context Transfer Data (CTD) message including the context requested. In the predictive case, the pAR receives a CTAR message from the MN whose feature contexts are to be transferred. This message provides the IP address of the nAR and an authorization token. The pAR predictively transmits to the nAR a Context Transfer Data (CTD) that contains feature contexts. This message contains also parameters for the nAR to compute an authorization token in order to verify the MN's token. Regardless the MN sent the CTAR to the pAR, it sends another CTAR message to the nAR in order to ascertain that the context transfer reliably took place. Furthermore in this CTAR the MN includes the authorization token so that the nAR verifies it. CxTP messages use Feature Profile Types (FPTs) to identify the way data is organized for a particular feature context. The FPTs are registered in a number space that allows a node to unambiguously determine the type of context and the context parameters present in the protocol messages. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 7] Internet-Draft CxTP for PANA February 2005 4. General considerations in the use of CxTP for PANA A PaC connected to an access network shares a context with its access router like e.g. compression type, Quality of service parameters and security state. As motivated in the previous sections, the goal of this document is to reduce the overhead of establishing state between the PaC and the nPAA. CxTP [I-D.ietf-seamoby-ctp] permits to avoid signaling overhead during roaming by enabling authorized context transfer between access routers. However, CxTP only offers a framework and does not define a particular context. In particular, it appears that PANA is likely to use this protocol to enhance mobility handling. The aim of this section is to give general considerations on the use of CxTP for PANA. 4.1 Conditions to Perform the Transfer In this section, we list conditions and recommandations to perform a PANA context transfer between two PAAs. This list is mostly inherited from [I-D.aboba-802-context]: o Homogeneous PAA's device deployment within a single administrative domain. o Entities engaged in the context transfer should authenticate each other. For this purpose, CxTP indicates that IPsec ESP must be used in order to provide connectionless integrity, data origin authentication and confidentiality protection. o The nPAA should not obtain keys used to encrypt traffic between PaC and pEP. This traffic may be encrypted at layer 2 or at layer 3. 4.2 Context Identification The context is, a priori, stored in the PAA and the CTP module needs a way to collect it. For this, the current CxTP specification proposes to use the IP address. In the reactive mode, the MN sends a CTAR message to the nAR including the previous MN's address. The problem is that this address can be allocated after the MN's handover to someone else. To avoid conflict, the pAR should defend an address allocated to a PaC until its context transfer has occured. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 8] Internet-Draft CxTP for PANA February 2005 4.3 Transfer of AAA-Key According to EAP [I-D.ietf-eap-keying], the figure below illustrates the keys hierarchy in the PANA case: PaC pPAA AAA/EAP --- ---- ------- MSK MSK MSK EMSK EMSK AAA-Key AAA-Key <---------- AAA-Key PANA_MAC_Key PANA_MAC_Key MSK and EMSK are derived from the EAP method used between the PaC and the AAA/EAP server. Those keys must not be exported from the EAP module. The AAA-Key is computed from MSK and EMSK. This key is exported to the pPAA. The PANA_MAC_KEY, used to protect PANA messages, is derived from the AAA-Key as follows: PANA_MAC_KEY = The first N bits of HMAC_SHA1(AAA-Key, PaC_nonce | PAA_nonce | Session-ID) For security reasons, after the IP handover, the PaC and nPAA should derive a new PANA_MAC_Key cryptographically separated from the previous one. This can be accomplished by deriving a new AAA-Key cryptographically separated from the previous AAA-Key. An obvious solution to have a new PANA_MAC_Key cryptographically separated from the old one should be to obtain a new one from the AAA/EAP server. We propose to use the same solutions as proposed in [I-D.ietf-pana-mobopts]. For this, the pPAA provides to nPAA an intermediate AAA-Key: AAA-Key-int = The first N bits of HMAC-SHA1(AAA-Key, DiameterIdentity | Session-ID) DiameterIdentity is the identifier of the pPAA and Session-ID is the identifier of the Session between the pPAA and PaC. If there are two AAA-Keys generated by a NAP/ISP authentication. pPAA provides the following key: AAA-Key-int = The first N bits of HMAC-SHA1(AAA-Key1 | AAA-Key2, DiameterIdentity | Bournelle (Ed.), et al. Expires August 19, 2005 [Page 9] Internet-Draft CxTP for PANA February 2005 Session-ID) During the PSR/PSA exchange, PaC and nPAA provide nonces that are used to derive a new AAA-Key: AAA-Key-new = The first N bits of HMAC-SHA1(AAA-Key-int, PaC_nonce | PAA_nonce) The new PANA_MAC_Key used to compute AVP MAC will be calculated from this key. 4.4 Interaction with the AAA infrastructure PAAs may use AAA infrastructure to authenticate PaC. This means that the PAA contacts a (local) AAA server and relay the EAP messages in order to authenticate a PaC. The PANA protocol introduces a separate authentication for Network Access Provider (NAP) and Internet Service Provider (ISP), please read [I-D.ietf-pana-pana] for more information. For simplicity, we will assume in the rest of this document that NAP will not perform AAA operations. We have two possible situations depending on roaming situation. We only consider use of RADIUS [RFC2865] or Diameter EAP application [I-D.ietf-aaa-eap]. +-----+ +-----+ +-----+ | PaC |<------->| PAA |<----->| AAA | +-----+ +-----+ +-----+ Figure 4: Local authentication In Figure 4, the PaC is authenticated in its home domain. The PAA contacts its local AAA server. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 10] Internet-Draft CxTP for PANA February 2005 +-----+ +-----+ +------+ | PaC |<------->| PAA |<----->| AAAL | +-----+ +-----+ +--+---+ ^ | v +--+---+ | AAAH | +------+ Figure 5: PaC in a visited domain In Figure 5, the PaC is in a visited domain. It can not be authenticated by the local AAA server (AAAL). In this case, the PAA contacts a local AAA entity which will contact the home AAA server. In the first situation, the PAA shares a session with only one AAA server. This server keeps information on the authenticated PaC such as session-lifetime, PAA's identity, authorized services...In some cases, the AAA server may have to contact the PaC (e.g. re-authentication) and thus if the PaC changes of PAAs, it seems necessary to contact the AAA server to inform it of the new PAA in charge of the PaC. The second situation is a little bit more complex since the PAA does not know the AAAH's identity. We can however state that it is necessary for the PAA to inform its local AAA entity of PaC's new location. Depending on policy, the AAAL server should inform the AAAH server. +----------+ | AAA(L/H) | +----------+ ^ | nPAA's identity | | +---+--+ +------+ | pPAA |----------------->| nPAA | +------+ +------+ AAA's identity Figure 6: The pPAA contacts the AAA infrastructure To inform the AAA server of PaC's new location, two solutions are available. In the first one (cf. Figure 6), the pPAA is in charge of contacting the AAA server to inform it of the nPAA. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 11] Internet-Draft CxTP for PANA February 2005 +----------+ | AAA(L/H) +<-----------------+ +----------+ | I'm in | charge of PaC | | | +------+ +--+---+ | pPAA |----------------->| nPAA | +------+ +------+ AAA's identity Figure 7: The nPAA contacts AAA infrastructure In the second one (cf. Figure 7), the nPAA informs the AAA server. It also seems necessary to inform the nPAA of the AAA server's identity. 4.5 The PANA Context The PANA Context is what should be transferred between the two PAAs to avoid re-authentication from scratch. The attributes described in [I-D.ietf-pana-pana] list elements that could constitute the PANA context at PAA. However some of these data are PAA specific and as such does not need to be transferred. Figure 8 summarizes the PANA Context. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 12] Internet-Draft CxTP for PANA February 2005 +------------------+------------+----------------------------+ | Data | Type | Length | +------------------+------------+----------------------------+ | Session-Lifetime | Unsigned32 | Fixed | | Elapsed | | | +------------------+------------+----------------------------+ | AAA-Key-int | UTF8String | Fixed (64 octets) | +------------------+------------+----------------------------+ | AAA server | UTF8String | Variable | | Identity | | | +------------------+------------+----------------------------+ | ISP-Identifier | Unsigned32 | Fixed | +------------------+------------+----------------------------+ | ISP-Name | UTF8String | Variable | +------------------+------------+----------------------------+ | NAP/ISP Separate | Unsigned32 | Fixed | | Authentication | | | +------------------+------------+----------------------------+ Figure 8: The PANA Context Data have the following meanings: Session-Lifetime: The authentication phase also determines the PANA session lifetime when authorization succeeds. This value is included in Session-Lifetime AVP. In Diameter [RFC3588], this AVP (Session-Timeout) is of type Unsigned32 and contains the maximum number of seconds of service to be provided to the user before session termination. Note that the value forwarded to the new PAA needs to reflect the already 'consumed' session lifetime. This helps to avoid problems where roaming is used to reset the lifetime when re-attaching at a new PAA. It must be assured that the sum of the individual session lifetimes is never greater than the initially communicated lifetime (type: Unsigned32, length: 4) AAA-Key-int: cf. Section 4.3. AAA server identify: Identity of the AAA server used to authenticate the PaC. ISP-Identifier IANA assigned "SMI Network Management Private Enterprise Codes" of the provider. ISP-Name UTF8-encoded name of the provider. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 13] Internet-Draft CxTP for PANA February 2005 Separate NAP/ISP authentication This variable indicates if a separate NAP/ISP authentication has been performed at pPAA. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 14] Internet-Draft CxTP for PANA February 2005 5. First approach: use of CxTP between PAAs The transfer may occur either after or before the handover. From this standpoint, we define two operating transfer modes: o Reactive mode: the PaC has already performed the handover. We assume that it has acquired an address. o Predictive mode: the transfer occurs before the handover. Different approaches exist to perform PANA context transfer using CxTP. In this document, we describe three of them and we discuss interaction between CxTP specification and PANA. In each of these 3 solutions, the transfer occurs between PAAs and they use a CTD message containing the PANA context. The CTD message is described in the following figure (ABNF notation): CTD-PANA ::= < CTD-Header> < Context Data Block, Ctx-Type: PANA-Context-Transfer, FPT> { Session-Lifetime-Elapsed } { AAA-Key-int } { AAA server's identity } { ISP-Identifier } { ISP-Name } { Double Authentication NAP/ISP information } Figure 9: CTD-PANA message where FPT (Feature Profile Type) identifies the way the particular feature context is organized. 5.1 PANA solution In the solution proposed by PANA [I-D.ietf-pana-mobopts], the PaC does not use CTAR message to request and activate the context. Instead, it replies to PSR message with a PSA message containing the unexpired previous PANA session identifier and a MAC AVP (cf. Figure 10). This AVP is computed using the PANA_MAC_KEY shared between the PaC and its pPAA. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 15] Internet-Draft CxTP for PANA February 2005 PaC nPAA pPAA --- ---- ---- PSR[PAA_Nonce] <------------ PSA[oSession-ID][PaC_Nonce][MAC] --------------> CT-Request [PSA] ----------------> CTD-PANA <---------------- PBR[nSession-Id][MAC] <-------------- PBA [MAC] ---------------> Figure 10: The PANA approach The nPAA receives this PSA message and it deduces that it must perform CxTP (because of the Session-Id AVP). It determines the identity of pPAA by looking at the DiameterIdentity part of the PANA session identifier. It sends a CT-Request to the pPAA containing the PSA message. The pPAA checks the validity of the PSA message and transfers the PANA context in the CTD message. Then the PANA session continues with a PANA-Bind exchange. This procedure has the following issues: o It does not support predictive mode since we do not have a CTAR message. o CxTP does not define a way to carry PSA message in CT-Request. o The CxTP module can not validate the transfer since the CT-Request does not provide any authorization token. 5.2 CxTP friendly approach 5.2.1 Operations in reactive mode As described in the previous paragraph, in order to handle PaC mobility in the reactive case, the approach based on [I-D.ietf-pana-mobopts] has some unsolved issues: these issues concern the usage of CxTP to perform the context transfer between PAAs. A possible alternative approach is to perform the context transfer relying completely on CxTP as specified in Bournelle (Ed.), et al. Expires August 19, 2005 [Page 16] Internet-Draft CxTP for PANA February 2005 [I-D.ietf-seamoby-ctp]. Figure 11 shows the message flow if this CxTP-friendly approach is used. PaC nPAA pPAA --- ---- ---- PSR [PAA_Nonce] (handoff) <-------------- CTAR ---------------> CT-Request ---------------> CTD-PANA <---------------- CTAA <--------------- PSA[(old Session-ID,) PaC_Nonce] ---------------> PBR[nSession-Id] <------------- PBA -------------> Figure 11: CxTP friendly approach: non predictive mode When the PaC performs a change of the point of attachment to the network, it receives a trigger indicating that a handoff has occured and consequently a context transfer should be performed. This trigger might be a PSR message sent by the nPAA (as depicted in Figure 11) or an internal DNA trigger (e.g. L2 "link-up" trigger). Based on this event notification, the PaC begins the CxTP procedure sending to the nPAA a CTAR message to trigger the context transfer. Based on [I-D.ietf-seamoby-ctp] this message MUST include the previous address of the PaC, the address of the pPAA and an authorization token needed to authorize the transfer. This authorization token is computed using a key that we called PANA_CxTP_KEY. The nPAA sends a CT-Request to the pPAA including the previous address of the PaC and the authorization token. These data are needed to the pPAA in order to identify the PaC and to retrieve Bournelle (Ed.), et al. Expires August 19, 2005 [Page 17] Internet-Draft CxTP for PANA February 2005 the associated PANA state. If the authorization token is verified successfully, the pPAA sends to the nPAA the PANA context of the PaC through a CTD-PANA message. Finally the nPAA sends a CTAA message to the PaC as a confirm that the context transfer has been completed. Upon the receipt of the CTAA, the PaC sends to the nPAA a PSA message: the protocol operation continues as specified in section 4.11 of [I-D.ietf-pana-pana]. Even if it is compliant to CxTP specification, this approach has several open issues: o [I-D.ietf-seamoby-ctp] specifies that the context transfer is performed between Access Routers, while in this scenario it is performed between PAAs; o in CxTP the transfer is authorized through the authorization token: it should be defined the key (called PANA_CxTP_KEY in this document) needed to calculate this authorization token; o if CxTP operations are triggered by a PSR message (i.e. it is not provided by layer 2 or by a DNA solution), the nPAA keeps on sending PSR messages waiting to receive a PSA message; indeed the PaC sends the PSA message only once the context transfer is accomplished. This implies an inefficiency in PANA protocol operations. o in order to send a CTAR message, the PaC must know the nPAA IP address. This could be an issue if CxTP is triggered by DNA, since a DNA solution might not provide the IP address of the nPAA. For this reason, the PaC might be forced to perform a new discovery phase to get the nPAA's address. 5.2.2 Operations in predictive mode To trigger the transfer, PaC/MN sends a CTAR message to pPAA. In this message, it includes data which permit the pPAA to recover the nPAA's address. The nAR's address should be this value. An authorization token is also computed using PANA-CxTP-Key. The pPAA sends the CTD message to the nPAA/AR indicated in the CTAR message. In this case, it is a predictive CTD message and thus it must also contain: o Algorithm, Key length and PANA-CxTP-Key: allows the nPAA to compute a token locally and verify against the token present in the CTAR message. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 18] Internet-Draft CxTP for PANA February 2005 o The PANA context as described above in Section 4.5 o The (previous) IP address of PaC. pPAA may set the A flag (see [I-D.ietf-seamoby-ctp]) in order to have an acknowledgment of this message. The nPAA creates an entry for this PaC. PaC performs the handover and sends CTAR message (after receiving a PSR message). nPAA recovers the context using PaC's address indicated in the CTAR message. It verifies the authorization token and if it is correct it activates the context. Then they perform a PBR/PBA exchange. Thus the nPAA can allocate a new session-id. This predictive mode raises the following issue: o After receiving the CTD message from pPAA, the nPAA creates an entry for the PaC. But in which state is it for this PaC ? Do a new state is needed ? 5.3 Optimized approach In this approach, the CTAR message is embedded in the PSA message. Thus, we reduce the number of messages. 5.3.1 Operations in the Reactive mode PaC nPAA pPAA --- ---- ---- PSR [PAA_Nonce] <--------------- PSA [CTAR][PaC_Nonce] ---------------> CT-Request --------------> CTD <-------------- PBR[nSession-Id] <------------- PBA -------------> While entering in the new network, the PaC will be detected and the nPAA will send a PSR message. To trigger the transfer the PaC can answer with a PSA message containing a CTAR message in an AVP. The PSA message contain an AVP PaC_Nonce. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 19] Internet-Draft CxTP for PANA February 2005 This CTAR message should contain the following data: o The previous PaC's address. o The previous PAA's address. o An authorization token computed over this message using a shared key between PaC and pPAA (the PANA_CxTP_KEY). After receiving the PSA-CTAR message from the PaC, the PANA module delivers the CTAR message to the PANA-CxTP module. The PAA sends a CT-Request to request the transfer. As noted in Section 4.1, this message must be protected by ESP [I-D.ietf-ipsec-esp-v3] as specified in [I-D.ietf-seamoby-ctp]. The pPAA verifies the authorization token before sending the CTD message. The CTD message contains: o The Elapsed Time in milliseconds. This value reflects the already 'consumed' session lifetime. o The PaC's previous address. o The PANA Context block. This message must also be protected by ESP. After receiving and processing the CTD message, the nPAA eventually change the state of the PaC. It computes the AAA-Key-new (using PaC_Nonce, AAA-Key-int and PAA_Nonce) and derives a new PANA_MAC_Key. Then it can send the PANA-Bind-Request containing the newly allocated Session-ID. This message is authenticated by a MAC AVP computed with the new PANA_MAC_Key. After receiving a PANA-Bind-Answer from the PaC, it changes its state to OPEN. Issues: o New state to handle the period of time where the nPAA is waiting the PaC's context from pPAA ? o Generation the PANA-CxTP-Key ? o Piggyback of a CxTP message in PANA. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 20] Internet-Draft CxTP for PANA February 2005 5.3.2 Operations in the Predictive mode The operations here are quite similar than in Section 5.2.2. The difference is that the PaC embeds the CTAR message in the PSA after the IP handover. 5.4 PANA with CxTP between PAAs interactions The table below summarizes issues in using CxTP between PAAs to carry PANA context. +----------+------------+-------------+ | PANA | CxTP | Optimized | +------------------+----------+------------+-------------+ | Transfer | no | no | no | | between ARs | | | | +------------------+----------+------------+-------------+ | CTAR message | no | yes | yes | +------------------+----------+------------+-------------+ | predictive mode | no | yes | yes | | supported | | | | +------------------+----------+------------+-------------+ | Transfer | | | | | authorized by | PANA | CxTP | CxTP | +------------------+----------+------------+-------------+ | Trigger | PSR | PSR/DNA | PSR | +------------------+----------+------------+-------------+ | State Machine | ? | yes | yes | | Issue | | | | +------------------+----------+------------+-------------+ Figure 13: PANA-CxTP interactions 5.5 Issues This section lists the different issues raised in previous section. o PAAs are not Access Routers. CxTP states that context transfer occurs between ARs. o CT-request does not define a way to carry PSA message. o Which protocol can be used to inform the AAA server of the nPAA in charge of the PaC ? A AAA extension ? Bournelle (Ed.), et al. Expires August 19, 2005 [Page 21] Internet-Draft CxTP for PANA February 2005 o Who informs the local AAA entity of the new PAA in charge of the PaC ? (pPAA or nPAA ?) o Computation of the PANA-CxTP-Key ? o If Session-Lifetime is near its expiration, is it necessary to perform the transfer ? o State machine modification in PaC and PAA ? Bournelle (Ed.), et al. Expires August 19, 2005 [Page 22] Internet-Draft CxTP for PANA February 2005 6. Second approach: use of CxTP between ARs If CxTP is used between PAAs, two CxTP exchange in parallel in the access network may occur: one between ARs (e.g. for QoS) and one between PAAs. For this reason, we analyze in this section use of CxTP between ARs for PANA. As specified in PANA [I-D.ietf-pana-pana], PAA may be colocated with AR. In this case, an API for the AR-PAA communication is sufficient. If PAA and AR are not colocated, a protocol is needed for our purpose. One of the goal of this work is also to investigate which protocol could be used for this. In the next two sections, predictive and reactive cases are described. 6.1 Predictive case In this case, the PaC sends a CTAR message to its AR. This CTAR message indicates that PaC wants its PANA context to be transferred. This message is protected with an authorization token computed with a key. CxTP does not define how to obtain this key. A possible approach could be to use the EAP key hierachy but this is not the purpose of this document. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 23] Internet-Draft CxTP for PANA February 2005 PaC pAR pPAA nAR nPAA --- --- ---- --- ---- CTAR -------------> Get -------> Send <------- CTD [PANA-ctx] ------------------------> (nAR waits for CTAR to validate it) (IP handover) CTAR -------------------------------------> (nAR validates CTAR) Set -----------> Ack <----------- CTAA <-------------------------------------- PANA-Start-Exchange <-------------------------------------------------> PANA-Bind-Exchange <-------------------------------------------------> The PaC sends a CTAR message protected by an authorization token. The pAR checks this token and if valid, requests the PANA context to the pPAA. The pPAA provides the corresponding context to the pAR. This context is identified using PaC's IP address. The pAR may retrieve other contexts. Then it sends the CTD message to the nAR. This nAR is specified in the CTAR message. The nAR keeps it but wait for CTAR message before setting the context. After its IP handover, the PANA client sends the CTAR message to the new AR. This message contains a token. The pAR has provided the nAR with the necessary keying material in order to verify this token. After the validation, the nAR can set contexts. For PANA, it sends a message containing the context to the nPAA which will create an entry for the PaC. The nPAA should be able to acknowledge this message if PaC has requested an acknowledgement. After this, the nPAA may start with a PANA-start exchange followed by Bournelle (Ed.), et al. Expires August 19, 2005 [Page 24] Internet-Draft CxTP for PANA February 2005 a PANA-Bind-Exchange in order to create a new PANA session-id, new PANA keying material and configure nEP. This implies that: o EPs are configured to allow CxTP traffic (CTAR/CTAA message). o The PaC must not try to discover PAA before receiving CTAA message except for the first authentication. 6.2 Reactive case In the reactive case, the PANA client has already performed its IP handover. PaC nAR nPAA pAR pPAA --- --- ---- --- ---- CTAR --------------> CT-Request ------------------------> validate message GetContext -----------> (pPAA provides context, manages state, contacts AAA ?) SendContext <---------- CTD [PANA-Ctx] <------------------------ SetContext -----------> Ack <--------- CTAA <-------------- PANA-Start-Exchange <-------------------------------------------------> Bournelle (Ed.), et al. Expires August 19, 2005 [Page 25] Internet-Draft CxTP for PANA February 2005 PANA-Bind-Exchange <-------------------------------------------------> The PANA client sends a CTAR message to the nAR requesting for the PANA context. This message contains the IP address of the pAR and an authorization token. nAR sends a CT-Request to the pAR containing the CTAR message. After validating the CTAR message, the pAR collects requested contexts and forward them to the nAR in the CTD message. The nAR sends the PANA context to the local PAA and possibly wait for an acknowledgement. If requested by the PaC, the nAR sends a CTAA message. After this, a classic PANA-Start-Exchange occurs but then they directly perform a PANA-Bind-exchange. This exchange permits to terminate the configuration of the PANA client: the nPAA allocates a new session-id and may allocate an IP adress. To avoid conflicts, PANA authentication should not be triggered before context transfer has been completed. For this purpose, the following points must be respected: o PANA client should not send a PSR message before receiving the CTAA message. o The nEP should not trigger PANA authentication while receiving CTAR/CTAA messages. 6.3 Considerations on the AR-PAA communications If CxTP is used between ARs, a protocol is needed between AR and PAA. This protocol is used in the previous access network by the AR to collect the PANA context from the PAA. The context located at the PAA should be identified by the IP address of the PaC. In the new access network, the AR must send the context to the PAA and the former must be able to acknowledge this message. This is a list of requirements about this protocol: o The AR and the PAA must be able to authenticate each other. o The AR and the PAA must provide integrity protection. o The AR and the PAA must provide confidentiality. o The PANA context should be identified by IP address at the PAA. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 26] Internet-Draft CxTP for PANA February 2005 7. Security considerations This document deals with interaction between the Seamoby Context Transfer Protocol and PANA. Therefore, all security considerations described in [I-D.ietf-seamoby-ctp] and in [I-D.ietf-pana-pana] apply also here. The approach described in this document considers only the intra-domain scenario. This means that the PAAs involved in the context transfer belong to the same administrative domain. Therefore, at this stage the inter-domain scenario is out of scope. As described in [I-D.ietf-seamoby-ctp] IPsec ESP must be used to protect CxTP messages between PAAs. In order to avoid the introduction of additional latency due to the need for establishment of a secure channel between the context transfer peers, the two PAAs should establish such a secure channel in advance. The mechanism used by the PAAs to establish such a channel is out of the scope of this draft: for example, IKE [RFC2409] with pre-shared key authentication might be used. Furthermore, CxTP requires that the PaC and the PAA possess a shared secret to calculate the authorization token: for this purpose, this document defines a new key PANA-CxTP-Key probably derived from the AAA-Key. The mechanism used by the nPAA to derive a new AAA-key and consequently a new PANA-CxTP-key is specified in [I-D.ietf-pana-pana]. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 27] Internet-Draft CxTP for PANA February 2005 8. Acknowledgements The authors would like to thank Vijay Devarapalli, James Kempf, Rajeev Koodli, Nakhjiri Madjid-MNAKHJI, Jean-Jacques Puig, Ren? Soltwitsch and Alper Yegin for their valuable comments. 9 References [I-D.irtf-aaaarch-handoff] Arbaugh, W. and B. Aboba, "Experimental Handoff Extension to RADIUS", draft-irtf-aaaarch-handoff-04 (work in progress), November 2003. [I-D.ietf-pana-pana] Forsberg, D., Ohba, Y., Patil, B., Tschofenig, H. and A. Yegin, "Protocol for Carrying Authentication for Network Access (PANA)", draft-ietf-pana-pana-07 (work in progress), December 2004. [I-D.ietf-pana-ipsec] Parthasarathy, M., "PANA enabling IPsec based Access Control", draft-ietf-pana-ipsec-05 (work in progress), December 2004. [I-D.ietf-pana-snmp] Mghazli, Y., Ohba, Y. and J. Bournelle, "SNMP usage for PAA-2-EP interface", draft-ietf-pana-snmp-02 (work in progress), October 2004. [I-D.ietf-pana-mobopts] Forsberg, D., "PANA Mobility Optimizations", draft-ietf-pana-mobopts-00 (work in progress), January 2005. [I-D.ietf-seamoby-ctp] Loughney, J., "Context Transfer Protocol", draft-ietf-seamoby-ctp-11 (work in progress), August 2004. [I-D.ietf-ipsec-esp-v3] Kent, S., "IP Encapsulating Security Payload (ESP)", draft-ietf-ipsec-esp-v3-09 (work in progress), October 2004. [I-D.aboba-802-context] Aboba, B. and T. Moore, "A Model for Context Transfer in IEEE 802", draft-aboba-802-context-02 (work in progress), April 2002. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 28] Internet-Draft CxTP for PANA February 2005 [RFC2988] Paxson, V. and M. Allman, "Computing TCP's Retransmission Timer", RFC 2988, November 2000. [RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange (IKE)", RFC 2409, November 1998. [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G. and J. Arkko, "Diameter Base Protocol", RFC 3588, September 2003. [I-D.ietf-eap-keying] Aboba, B., "Extensible Authentication Protocol (EAP) Key Management Framework", draft-ietf-eap-keying-04 (work in progress), November 2004. [I-D.ietf-aaa-eap] Eronen, P., Hiller, T. and G. Zorn, "Diameter Extensible Authentication Protocol (EAP) Application", draft-ietf-aaa-eap-10 (work in progress), November 2004. [RFC2865] Rigney, C., Willens, S., Rubens, A. and W. Simpson, "Remote Authentication Dial In User Service (RADIUS)", RFC 2865, June 2000. Authors' Addresses Julien Bournelle GET/INT 9 rue Charles Fourier Evry 91011 France EMail: julien.bournelle@int-evry.fr Maryline Laurent-Maknavicius GET/INT 9 rue Charles Fourier Evry 91011 France EMail: maryline.maknavicius@int-evry.fr Bournelle (Ed.), et al. Expires August 19, 2005 [Page 29] Internet-Draft CxTP for PANA February 2005 Hannes Tschofenig Siemens Corporate Technology Otto-Hahn-Ring 6 81739 Munich Germany EMail: Hannes.Tschofenig@siemens.com Yacine El Mghzali Alcatel Route de Nozay Marcoussis 91460 France EMail: yacine.el_mghazli@alcatel.fr Gerardo Giaretta TILab via G. Reiss Romoli, 274 TORINO 10148 Italy EMail: gerardo.giaretta@telecomitalia.it Rafa Marin Lopez University of Murcia 30071 Murcia Spain EMail: rafa@dif.um.es Yoshihiro Ohba Toshiba America Research, Inc. 1 Telcordia Drive Piscateway, NJ 08854 USA Phone: +1 732 699 5365 EMail: yohba@tari.toshiba.com Bournelle (Ed.), et al. Expires August 19, 2005 [Page 30] Internet-Draft CxTP for PANA February 2005 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. The IETF has been notified of intellectual property rights claimed in regard to some or all of the specification contained in this document. For more information consult the online list of claimed rights. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society (2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 31] Internet-Draft CxTP for PANA February 2005 Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Bournelle (Ed.), et al. Expires August 19, 2005 [Page 32]