Internet DRAFT - draft-chen-mobileip-packet-fitlering-xc

draft-chen-mobileip-packet-fitlering-xc



IETF  Mobile IP Working Group                 Xiaobao Chen
INTERNET-DRAFT                                Orange PCS Ltd.
Expires: 17 December 2003		     
					      Martin Harris
					      Orange PCS Ltd.

					      Nick Sampson 
					      Orange PCS Ltd.
					      
					      17 June 2003






    	MIPv6 Inter-working with  Packet Filtering

       draft-chen-mobileip-packet-fitlering-xc-01.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 made obsolete 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 provides considerations for some requirements on 
   the IPv6 nodes using MIPv6  to communicate with their peers across
   a network boundary where some specific packet filtering is 
   deployed for operator and service provider controlled access to  
   the services and network resources. Depending on the operational 
   policies, the packet filtering can be applied on either the 
   incoming packets or the outgoing packets or in both directions. 
   A mobile node using MIPv6 sends packets with Home IP address in 
   the extension headers, while the packet filtering is often based 
   on either the source address or the destination address or both 
   in the basic IPv6 header.Packet filtering that complies with the 
   policies from the mobility unaware applications will fail to 
   perform properly due to the change of the source and destination 
   addresses in the basic IPv6 header when MIPv6 is used. This 
   document provides an analysis on the operation requirements on 
   packet filtering and then proposes a simple solution that does 
   not impose any change on IPv6 but requires an addition to IPv6 
   nodes using MIPv6.



Xiaobao Chen et al 	Expires 17 December 2003	[Page i]

INTERNET-DRAFT 		MIPv6 Interworking with Packet Filtering 


1  Introduction
 
   Mobile IPv6 (MIPv6)[1] allows a mobile node to maintain its IP 
   connectivity regardless of its network attachment point. 
   Packets sent to the mobile node may still use its home address, or
   the care-of address of the mobile node as the destination address.
   The mobile  node may continue to communicate with its existing 
   communication peers (stationary or mobile) by using its 
   topologically correct IP addresses. An important  and highly 
   desirable feature of mobile IP based mobility is that the control
   is transparent to transport and higher-layer protocols and 
   applications, i.e. the higher layer protocols and applications 
   function as if the mobile node is "stationary".

   Packet filtering is used by operators and service providers for
   protecting the network and the host(s). It is achieved by 
   distinguishing incoming and  outgoing packets and then control
   the access to network resources and services based on operator or
   service provider defined policies.
  
   An IPv6 node using MIPv6 sends packets with home address carried
   in the extension headers of the IPv6 packets, while the packet 
   filtering can be based on either the source  address or the 
   destination  address or both in the basic IPv6 header. This is 
   usually because the packet filtering complies with policy control
   information that comes from an application server or the upper 
   layers which operate independently from  mobile IP . A packet that 
   fails to match either the source address or the destination IP 
   address in its basic IP header will be discarded by the gateway 
   node that performs  packet filtering based on the 
   source or destination  addresses in the basic IPv6 header.

   In this document  some common operational practices of packet 
   filtering are described. Then operational issues and requirements
   are discussed when an IPv6 node uses MIPv6 to communicate with
   its peers through a network boundary that performs a network 
   address based packet filtering.  It then proposes a simple 
   solution of an  addition to IPv6 nodes using MIPv6 without any 
   restrictions on standard IPv6 operations.
  
2  Terminology
  
   The key words "MUST", "MUST NOT", "REQUIRED","SHALL","SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
   this document are to be interpreted as described in RFC 2119.
   
3  Some Common Packet Filtering Practices
    
   The following sections list some packet filtering operations 
   deployed  by  ISP's or 3G operators. It is not intended to 
   exhaust all the possible application scenarios for packet 
   filtering.

3.1 Network Ingress Filtering by ISP's
  
   Some typical example are  given in RFC2827[2] about ingress 
   filtering used to protect network and hosts against Denial of 
   Service Attacks using IP Source Address Spoofing. An attacker
   using a forged but  "valid" IP source address (e.g. those 
   that appear in the global routing tables) can launch an attack on



Xiaobao Chen et al     Expires 17 December 2003         [Page 1]

INTERNET-DRAFT 		MIPv6 Interworking with Packet Filtering 

   a network or a host and cause serious disruptions or even a crash
   of the network and service operations. The proposed operational 
   practice for an ISP is to restrict transit traffic which 
   originates from a downstream  network to known, and intentionally 
   advertised, prefix(es). This "ingress filtering" would check if an
   incoming packet uses a legitimate source address, i.e. the address 
   assigned by  the ISP from which the packet is originated. For 
   example, the only valid source address for packets originating 
   from a PC is the one assigned by the ISP after successful log-in 
   process which usually involves the use of  authentication and 
   authorisation procedures. This packet filtering based on valid 
   source address is also recommended on edge routers [3] to 
   validate the source IP address of the sender.
   
3.2 Network Packet Filtering  by 3G Operators

   Some strong driving factors for deploying IPv6 and mobility 
   support in IPv6 on a wide-scale have been seen in the 3GPP 
   community. The UMTS IP Multimedia Subsystem (IMS)[6] is based on
   IPv6. Mobile IP has been identified by 3GPP as a solution for 
   providing mobility control between wireless LAN and GPRS/UMTS 
   networks to support 3G services including IMS services. Supporting
   IPv6/MIPv6 in GPRS/UMTS networks  has become an imminent and 
   important issue to 3G community, especially 3G operators. Two 
   important packet filtering operations  that take place at the 
   GPRS Gateway Support Node (GGSN) in GPRS/UMTS networks are 
   described in the following sections. 

3.2.1 Ingress Filtering at the GPRS/UMTS Gateway Node

   To support IP multimedia services with differentiated QoS, 
   GPRS/UMTS networks support multiple simultaneous GPRS/UMTS
   sessions as typically represented by multiple secondary PDP 
   (Packet Data Protocol) Contexts[4]. Each GPRS/UMTS session may be 
   assigned specific QoS with the necessary network resources 
   (including radio resources). An incoming packet from the external 
   IP network will be checked by the gateway node, GGSN, to decide if
   there is an existing GPRS/UMTS session to deliver the packet 
   through the network to the mobile terminal.  The packet is checked
   against a Traffic Flow Template [5] (TFT) that contains the packet
   filtering information such as the IPv4/IPv6 Source Addresses, 
   Protocol Identifier, Source/Destination Ports, etc. The packet 
   filtering operation will use at least one of those 
   packet filter parameters, primarily the Source Address, to choose 
   the appropriate GPRS/UMTS session.

   On receiving an packet, the GGSN will search for a GPRS/UMTS 
   session with the TFT that contains the parameter values matching 
   those carried in the packet. For example, the Source IP Address 
   field of each existing TFT will be compared with the source address
   carried by the packet.If no matching TFT  is found, the packet may
   be discarded. 
   

3.2.2 Egress Filtering for IMS Services at the GPRS/UMTS Gateway Node

   The IP Multimedia Subsystem (IMS) [6] is  defined by 3GPP to 
   provide SIP-based IP multimedia services. In IMS, Service-based 
   Local Policy control(SBLP) [7, 8] is enforced by the gateway node, 
   GGSN, to authorise and control the access to the IMS services and
   
   
   
Xiaobao Chen et al      Expires 17 December 2003        [Page 2]

INTERNET-DRAFT 		MIPv6 Interworking with Packet Filtering

   the GPRS/UMTS network resources based on operator defined 
   local policies. For example, an IMS service request, a 
   GPRS/UMTS session set-up request and the subsequent data packets 
   originated by the mobile terminal will be checked at the gateway 
   node, GGSN,  against a set of policy control information 
   parameters such as Destination  Address, Destination  Port Number,
   Transport Protocol ID, etc. The policy control information is 
   issued as an authorisation from the upper layer (the IMS/Policy 
   Control Function -PCF). A service request or a packet will be 
   blocked the GGSN if it fails the packet filtering based on the 
   policy control information.
   
4. Problem statements 

   When a mobile node (MN) leaves its home network link  and connects
   to a foreign network that deploys the packet filtering described 
   in section 3.2, the MN will encounter some difficulties 
   communicating with its peers using MIPv6 and its upper layers 
   sessions will be disrupted.

4.1 Source Address based Ingress Filtering

   For packets sent from the Correspondent Node) (CN)  to the MN, 
   the packets may either be tunneled by the MN's Home Agent(HA) to
   the MN or sent from the  CN directly to the MN.

4.1.1 The Case of HA Tunneling

   When the packets travel through the  tunnel from the  HA to the 
   MN, the source address in the outer header of the tunnelled packet
   is the address of the HA. The gateway node in the foreign network
   is likely to perform ingress filtering based on the original source
   address, i.e., the address of the CN, despite the fact that the HA
   will still tunnel packets to the MN. This is the case especially 
   when the ingress packet filtering function is not mobility aware, 
   i.e. it makes no distinction between a stationary node or mobile 
   node using mobile IPv6. 
   
   A typical example is the Ingress Filtering at GGSN in GPRS/UMTS 
   networks as described in section 3.2.1 where the UMTS sessions are
   set up and operated independent of the mobile IP control. The GPRS
   /UMTS sessions makes no distinction between packets with or without
   MIPv6 extensions. An incoming packet with a source  address (i.e. 
   the address of the HA) different from the address used for packet 
   filtering (i.e. the IP address of the CN) will fail to find a 
   matching UMTS session and may be discarded. This has some serious
   implications. For example, a live IMS session between two IPv6 
   nodes will be broken when any one of them leaves its  home network,
   moves into GPRS/UMTS and start using MIPv6. 
   
   A mechanism that reads inner header of the tunnelling packet  may
   not work. For example, the gateway node fails to read the payload
   of the tunnelling packet due  to the possible encryption, e.g. 
   IPSec ESP.
   
4.1.2 The Case of Route Optimisation when the CN is mobile

   When Route Optimisation is used, the packets are sent directly 
   from the CN to the MN with the source address being the address of 



Xiaobao Chen et al    Expires 17 December 2003          [Page 3]

INTERNET-DRAFT 	   	MIPv6 Interworking with Packet Filtering

   the CN. When the CN is a mobile node itself and attached to a
   foreign network, the source address of the packets sent from CN
   will be its Care-of Address (CoA). When packet filtering is 
   based on the original source address of the CN, i.e. its home
   address, packets sent from the CN will be discarded by the gateway
   node. 
   
   A typical example is the case when  the GSSN uses ingress 
   filtering for selecting the UMTS sessions.Although the packet sent 
   from the mobile CN to the MN has the  "Home Address Destination 
   Option" containing its Home  address[1], a gateway node as 
   an intermediate node operating standard IPv6 does not read it. 
   This will have some serious implications such as the disruption of 
   existing live sessions.

4.2 Destination Address based Egress Filtering
      
   For packets sent directly  from the CN to the MN that is attached 
   to a foreign network, the destination address will be  the CoA of 
   the MN. The gateway node such as the GGSN in the GPRS/UMTS 
   networks that is not mobile IP aware will still use the original 
   destination IP address, i.e. the home address of the MN to perform
   the Egress Filtering.
   
   Section 3.2.2 describes the egress filtering using the Service-
   based Local Policy Decision provided by the Policy Control Function
   that operates independently from mobile ip based mobility control.
   
   When an IPv6 node in the GPRS/UMTS network is to initiate or having a
   IMS session with a MN that is away from its home network, the 
   packets sent  from CN directly to the MN using MIPv6 compliant 
   header will fail to pass through the SBLP based packet filtering.
   Although the packet sent from the CN to the MN has the Routing 
   Header Type 2 in its option headers field[1], a standard IPv6 
   operating gateway node as an intermediate node  does not read  
   this header.

5. Requirements on Inter-working Mobile IPv6 with Packet Filtering

   The following requirements are recommended for a gateway node that
   performs source address and/or destination address based packet
   filtering:

   * A gateway node running standard IPv6 should not be required to
     change to support packet filtering function.

   * The policy control functions for packet filtering such as the PCF
     should not be aware of the mobility control based on mobile IP.

6. A Recommended Practice

   A simple solution to the above inter-working problem with MIPv6
   and packet filtering is to enable the gateway node to access the 
   required information to perform the packet filtering while in the
   meantime the operations on packets in the gateway node should comply
   with standard IPv6 specifications.  According to standard 
   IPv6,the Hop-by-Hop Options Header, is accessible to intermediate 



Xiaobao Chen et al     Expires 17 December 2003         [Page 4]

INTERNET-DRAFT 		MIPv6 Interworking with Packet Filtering

   IPv6 nodes between the source and the destination.The Hop-by-Hop 
   Options Header carries information that intermediate nodes between 
   a source and destination needs to know. Every node along a 
   packet's path examines the Hop-by-Hop options header for the 
   required information. 

6.1 MIPv6 Interworking with Source IP Address based Ingress Filtering

   The following recommended practice will enable the gateway node, 
   such as the GGSN in GPRS/UMTS networks, to perform source address
   based Ingress Filtering because a standard IPv6 gateway  node, as 
   an intermediate node, is able to access the information  contained 
   in the Hop-by-Hop Options Field.

6.1.1 The Recommended Practice in case of HA Tunnelling

   For a CN  communicating to its MN using HA tunnelling, the HA 
   should insert original IP address of the CN in the Hop-by-Hop
   Options Header in the outer IP header of the tunnelling packet.
   In the case when the CN is a mobile node itself and away from its
   home network, the CN may need to insert its Home IP address in 
   the Hop-by-Hop Options Field  for packets sent to the MN's Home 
   IP address. The HA, as an intermediate IPv6 node, will read the 
   Hop-by-Hop Options Field and access the information and then 
   put the original IP address (the Home IP address) of the (mobile)
   MN in the Hop-by-Hop Options Header in the outer header of the 
   tunnelling packets.

6.1.2 The Recommended Practice in case of Route Optimisation

   For a CN communicating to a MN using route optimisation
   to send packets directly to the MN, the CN should insert its IP
   address in the Hop-by-Hop Options Header. In the case where the CN
   is a mobile itself and away from its network, the CN should insert
   its Home IP address in the Options filed in the Hop-by-Hop Options
   Header.
   
6.2 MIPv6 Interworking with Destination IP Address based Egress 
    Filtering
    
   For a CN communicating to a MN using Route Optimisation 
   to send packets directly to the MN, the CN should insert
   the Home IP Address of the MN in the Hop-by-Hop Options Header 
   using standard IPv6 operations.

   The above recommended practice will enable the gateway node, such
   as the GGSN in GPRS/UMTS network, to perform destination  
   address based Egress Filtering such as SBLP because a standard 
   IPv6 gateway node, as an intermediate node, is able to access the 
   information in the Hopy-by-Hop Options Field using standard IPv6 
   operations.



Xiaobao Chen et al    Expires 17 December 2003          [Page 5]

INTERNET-DRAFT 		MIPv6 Interworking with Packet Filtering

6.3 MIPv6 Interworking with Source and Destination IP Address based 
    Packet Filtering
   
   It is likely that a packet sent from the HA or the CN to the MN 
   may need to pass through Egress Filtering (for packets leaving
   the network where the CN or the HA is located) as well as Ingress
   Filtering (for packets coming into the network where the MN is 
   located).  Both the gateway node performing the Egress Filtering 
   and the one performing Ingress Filtering will need to acquire the
   necessary information to perform the filtering function. It is 
   recommended that the CN and HA (in the case when the HA 
   tunneling is used) should insert the both the IP 
   address of the CN and the Home IP address of the MN in the Options 
   Field of Hop-by-Hop Options Header. The CN's  IP Address is 
   placed before the MN's IP Address. 
   
   The above recommended operation is applied only to the outer IP 
   header of the packet when HA tunnelling is used. 

   The gateway node that performs the packet filtering will read the 
   data in the first 16 octets of the option field as the source IP 
   Address and the data in the  following 16 octets of the option 
   field as the destination IP address.

7. Security Considerations
   
  7.1 Ingress Filtering
  
   It may well  be likely that a malicious node launches attacks 
   against the MN by spoofing the Original Source IP Address (the 
   legitimate CN) or/and the Original Destination Address (the Home 
   IP Address of the MN) in its Hop-by-Hop Options Field to pass the
   gateways that performs ingress packet filtering. 
   
   The recommended practice to tackle this problem is using the 
   Ingress Packet Filtering described in RFC2827[2]. The  Ingress 
   gateway checks if  the packet has the  topologically correct
   source IP address representing a legitimate CN or HA in the 
   network from which the packet comes from. 
   
  
  7.2  Egress Filtering
  
   A potential risk may arise for operators running IMS with SBLP when
   the GGSN checks the Hop-by-Hop Options Header for the destination 
   address (Sections 4.2, 6.2).  After initial successful IMS SBLP 
   authorisation,  a CN attached to a GPRS/UMTS network may insert 
   the address of an unauthorised destination (e.g. sites barred by 
   the operator)  in the IPv6 basic header while it inserts the 
   authorised MN's home address in the Hop-by-Hop Options Field. This 
   will enable the packets to pass the SBLP based packet filtering at
   the GGSN to reach un-authorised destinations.
   
   To tackle this potential risk, the GGSN should associate the 
   current destination address of the MN, i.e. its CoA, with the 
   original destination address, i.e. the MN's home address of the MN
   that is authorised by the IMS SBLP. The following approach may be
   used by GGSN to establish such an association.
   
   A MN attached to a foreign network may send a Binding Update 
   
   
Xiaobao Chen et al    Expires 17 December 2003          [Page 6]

INTERNET-DRAFT 		MIPv6 Interworking with Packet Filtering

   message [1] to the CN attached to the GPRS/UMTS network. The 
   binding update message using  the MN's CoA as the Source Address 
   may therefore be blocked by the GGSN's TFT packet filtering 
   function.  Instead of blocking the packet, the GGSN may
   also need to check if the packet carries the Binding Update 
   Message by looking at the MH Type Value. If it is "5"[1],  the 
   GGSN recognises that it is a binding update message and record the
   Source Address of the binding update message as the 
   current address of the MN. 
   
   To guarantee that the recorded address obtained from the Binding
   Update Message is the MN's current address, the GGSN may need to
   wait until a Binding Acknowledgement Message is sent from the CN
   withe MH Type Value "6". The GGSN will establish an association 
   between the MN's current address (CoA) to be used by the CN in
   IPv6 basic header  and the MN's Home Address in the Hop-by-Hop
   Options Field for sending packets to the MN.
   
   For a secure SBLP operation, the GGSN will check both the
   destination address in the IPv6 basic header and the Hop-by-Hop
   Options Field in the IPv6 extension headers. Those packets found
   with destination address unmatching the association with 
   the MN's Home Address will be blocked by the GGSN.
   
   

8. Acknowledgment

   The authors would like to thank  Phil Roberts and James Kemp for 
   their valuable comments and feedbacks on the issues. 
   Acknowledgements are  made to Paul Reynolds, Ric Bailey, Ronan 
   Le Bras, Graham Fisher, Stuart Shutt, Steve Blythe and Rob Allan 
   for their constant and valuable support for the work.


9. References

[1] D. Johnson,  C. Parkins.  J. Arkko. "Mobility Support in IPv6", 
    Internet Draft, Internet Engineering Task Force, May 26, 2003

[2] P. Ferguson, D. Senie. "Network Ingress Filtering: Defeating 
    Denial of Service Attacks which employ IP Source Address 
    Spoofing. RFC2827, BCP38 Internet Engineering Task Force,  May 2002

[3] F. Baker. "Requirements for IP Version 4 Routers", RFC1812, June 1995.



Xiaobao Chen et al   Expires 17 December 2003           [Page 7]

NTERNET-DRAFT 		MIPv6 Interworking with Packet Filtering

[4] 3GPP TS23.060, "3rd Generation Partnership Project; 
    Technical Specification  Group Services and System Aspects; General 
    Packet Radio Services (GPRS); Service Description; Stage 2 (Release 
    1999)".

[5] 3GPP TS23.008, "3rd Generation Partnership Project;
    Technical Specification Group Core Network; Mobile Radio Interface Layer
    3 Specifications; Core Network Protocols - Stage 3 (Release 1999)".
    
[6] 3GPP TS23.228, "3rd Generation Partnership Project;
    Technical Specification  Group Services and System Aspects; (Release 5)".

[7] 3GPP TS23.207, "3rd Generation Partnership Project; 
    Technical Specification Group Services and System Aspects;End-to-End
    QoS Concept and Architecture (Release 5)".

[8] 3GPP TS29.207, "3rd Generation Partnership Project; 
    Technical Specification Group Core Network; Policy Control over Go 
    Interface (Release 5)". 

9 Authors' Addresses

    Xiaobao Chen
    Orange PCS Ltd.
    Keypoint 
    St. James Court, Almondsbury Park
    Bradley Stoke, Bristol, BS32 4QJ
    UK
            
    Phone:  +0044 (0)7989 477 679    
    EMail:  xiaobao.chen@orange.co.uk 
    

    Martin Harris
    Orange PCS Ltd.
    Keypoint 
    St. James Court, Almondsbury Park
    Bradley Stoke, Bristol BS32 4QJ
    UK
            
    Phone:  +0044 (0)7974 365 080    
    EMail:  martin.harris@orange.co.uk   


    Nick Sampson
    Orange PCS Ltd.
    Keypoint 
    St. James Court,Almondsbury Park
    Bradley Stoke, Bristol BS32 4QJ
    UK
            
    Phone:  +0044 (0)7973 963 519  
    EMail:  nick.sampson@orange.co.uk