Internet DRAFT - draft-miao-mip6-ft

draft-miao-mip6-ft



Network Working Group                                          Yang Shen
Internet-Draft                                              Zhang Hongke
Expires: November, 2006                                     Zhang Sidong
                                             Beijing Jiaotong University
                                                              Miao Fuyou
                                                     Huawei Technologies
                                                               May, 2006


                    
	            Firewall Traversal for Mobile IPv6
                         draft-miao-mip6-ft-02


Status of this Memo


   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 becomes 
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   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 November, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2006). All Rights Reserved.

Abstract







Miao, et al.             Expires: November 2006                 [Page 1]

draft-miao-mip6-ft-02.txt                                       May 2006


   As important security devices, firewalls are widely deployed in ISP
   and enterprise networks. However, currently firewalls, which are
   essentially designed for fixed networks, are difficult to support
   Mobile IPv6. Unless firewalls are aware of the detail of mobile IPv6
   protocol, they impacts smooth operation of the protocol and can be
   harmful to mobile IPv6 deployment.

   This internet draft intends to show some ideas to solve the problems
   on mobile IPv6 firewall traversal. The solutions proposed are not an
   overall solution to fix all the traversal problems.


Table of Contents

   1.   Introduction . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.   Problem Statements . . . . . . . . . . . . . . . . . . . . .   4
   3.   Firewall between MN and CN . . . . . . . . . . . . . . . . .   5
        3.1.   Simple Analysis . . . . . . . . . . . . . . . . . . .   5
        3.2.   Process to Return Routability Procedure . . . . . . .   5
	3.3.   Home Address Matching . . . . . . . . . . . . . . . .   5
	3.4.   CoA Update. . . . . . . . . . . . . . . . . . . . . .   6
   4.   Firewall between HA and MN . . . . . . . . . . . . . . . . .   6
        4.1.   New Mobility Header Types . . . . . . . . . . . . . .   7
        4.2.   Detection Procedure . . . . . . . . . . . . . . . . .   9
   5.   Problem Unsolved . . . . . . . . . . . . . . . . . . . . . .  10
   6.   Security Considerations. . . . . . . . . . . . . . . . . . .  10
   7.   Acknowledgments  . . . . . . . . . . . . . . . . . . . . . .  10
   8.   References . . . . . . . . . . . . . . . . . . . . . . . . .  10
   9.   Author's address . . . . . . . . . . . . . . . . . . . . . .  10
   Full Copyright Statement  . . . . . . . . . . . . . . . . . . . .  11
   Intellectual Property Statement . . . . . . . . . . . . . . . . .  11
   Expiration. . . . . . . . . . . . . . . . . . . . . . . . . . . .  12




















Miao, et al.             Expires: November 2006                 [Page 2]

draft-miao-mip6-ft-02.txt                                       May 2006


1. Introduction

   Network environment must be considered during the mobile IPv6
   deployment. In this case, firewalls which might block Mobile IPv6
   traffic become one of the critical issues. In order to support each
   other's operation, some modifications must be made on both sides.

   The traffic between MN and HA is encapsulated with IPsec ESP for
   security, while most firewalls in use are configured to block IPsec
   data. UDP encapsulation is a possible solution to help IPsec data to
   pass through the firewall, but it can not be applied to all the
   traffic between MN and HA for efficiency consideration. So a dynamic
   firewall detection procedure is designed as a Mobile IPv6 extension
   in this draft. Two detection messages are sent to HA from MN before
   BU, one is UDP encapsulated while the other one is not, HA will
   reponse according to the request, the existence of firewall is
   determined based on the received replies. Such procedure could solve
   the efficiency problem which limits the usage of UDP encapsulation.

   In Mobile IPv6 specification, the cara-of address is transparent to
   the upper layer, only home address can be seen. If this feature could
   be introduced into firewall, most problems would get simplified.





























Miao, et al.             Expires: November 2006                 [Page 3]

draft-miao-mip6-ft-02.txt                                       May 2006


2. Problem Statements

   There are four scenarios in which firewalls may interfere in the
   smooth operation of the Mobile IPv6 Protocol.

   The first scenario is that the CN is protected by a firewall and the
   MN is an external node. The problem is that data sent by MN could not
   pass through the firewall. Details are described in [6] in section
   3.1.

   The second scenario is that the MN is protected by a firewall and the
   CN is an external node. The problem is that data sent by CN could not
   pass through the firewall. Details are described in [6] in section
   3.2.

   The third scenario actually is similiar to the second one, but it is
   more complicated. In this scenario, the CN is an external node and
   the MN protected by a firewall moves to another networks which is
   protected by another firewall. The problem is that the data sent by
   CN could not pass through the firewall because there is not any entry
   in the firewall for the cummunication. Details are described in [6]
   in section 3.2.5.

   The last scenario is about the IPsec data transmitted between MN
   and HA. Most firewalls are configured to refuse IPsec data for
   security consideration. If MN moves to a network protected by a
   firewall, the HoTI message in the Return Routability Test will be
   dropped. Details are described in [6] in section 3.2.3.























Miao, et al.             Expires: November 2006                 [Page 4]

draft-miao-mip6-ft-02.txt                                       May 2006


3. Firewall between MN and CN

3.1. Simple Analysis

   There are two primary reasons that Mobile IPv6 message can not pass
   through firewall. One reason is that, once MN moved to a new link,
   the data traffic sent to/from MN is identified by a new care-of
   address, which will cause the traffic to be treated as a new
   connection. The other reason is that the firewall is unware of mobile
   IPv6 control messages, such as BU, BA, CoTI, HoTI and etc, each of
   such messages will be treated as a new connection by firewall.

3.2. Process to Return Routability Procedure

   When a firewall receives a packet from outside of the protected
   network, it checks the IPv6 header, extension headers and TCP/UDP
   header to get <source address, destination address, source port,
   destination port, protocol>. Then, then firewall matches it to
   filtering entry. It is convenient for the firewall to obverse the
   mobility header. Each Mobile IPv6 control message is a part of
   mobility header. An administrator who wants to support Mobile IPv6
   may configure a firewall to permit the packets that contain the
   mobility header to pass through. Although the process helps return
   routability procedure to survive firewall, it is noted that it may
   open loophole for potential attackers.

3.3. Home Address Matching

   The care-of address of mobile IPv6 is designed to be transparent to
   the application layer, this idea is presented by using the Type 2
   Routing Header and Home Address Option. It can be utilized to
   implement firewall traversal. If firewall builds its state entry
   based on MN's home address, it will be very simple to traverse
   firewall in some cases.

   It is supposed that CN is protected by a stateful firewall which is
   configured to filter incoming packets based on home address, and MN
   is an external node. If CN initiates a connection to MN, the firewall
   creates entries based on the first packet. For normal firewall, the
   entries may be <CN, CoA, protocol, xx, yy> and <CoA, CN, ptotocol,
   yy, xx>, where xx, yy represent the source port number and
   destination port number respectively. Now mobile IPv6 firewall gets
   the home address from type 2 routing header and replace the
   destination address derived from IPv6 header with home address, so
   the enties is <CN, HoA, protocol, xx, yy> and <HoA, CN, protocol, yy,
   xx>. Any incoming packet sent by MN will be checked based on home
   address. Mobile IPv6 firewall gets the home address from home address
   destination option (which is carried by the Destination Option
   extension header) and replaces the source address derived from IPv6


Miao, et al.             Expires: November 2006                 [Page 5]

draft-miao-mip6-ft-02.txt                                       May 2006


   header. The final filtering information should be <HoA, CN, protocol,
   yy, xx>. If it matches any entry, so the data traffic is allowed to
   pass through the firewall.

   When the MN is protected by stateful firewall and MN moves in the
   protected network, it also works. The home address is got from home
   address destination option and the address order in filtering entry
   is changed. 

   When a MN moves from one network (protected by firewall or not) to
   another network protected by firewall, filtering based on home
   address does not work. 

3.4. CoA Update

   If firewall stores both home address and CoA of a mobile node, it is
   possible to update the CoA in the filtering entry whenever MN moves.
   Then the same entry can be applied for all following packets without
   checking home address.

   The proposal reduces process for each packet and saves a lot of CPU
   cycles and memory expense. But in the same time it introduces new
   loophole resulting denial of service attack.

4. Firewall between HA and MN

   In mobile IPv6 specification it is specified that the data passed
   between home agent(HA) and MN should be encrypted and authenticated
   by IPsec. But nowadays most firewalls don't support IPsec well, or
   the administrator would like to configure the firewall to drop all
   ESP packets. When there is such a firewall between HA and MN, it is
   difficult to accomplish mobile IPv6 communication.

   An approach was mentioned in [draft-ietf-mip6-firewalls-00]:

   "A common approach, which is also used for NAT traversal, is to
   apply UDP encapsulation of IPsec packets. Unlike with NAT traversal
   it is not possible to detect the presence of a Firewall
   automatically in the same fashion as with a NAT. A NAT modifies the
   source IP address when an IP packet travels from the private to the
   public addressing space. For a Firewall this is not true. Hence,
   UDP encapsulation needs to be enabled proactively."

   Enable UDP encapsulation proactively is really not a good idea, since
   there will not be a firewall in every case. A mechanism is required
   to detect the firewall existence between HA and MN. A mechanism is
   introduced to perform this function.




Miao, et al.             Expires: November 2006                 [Page 6]

draft-miao-mip6-ft-02.txt                                       May 2006


4.1. New Mobility Header Types

   Two new mobility header types are defined here, Firewall Detection
   and Firewall Detection Reply.

   (1)Firewall Detection message

   A MN uses Firewall Detection (FD) message to detect the existence of
   firewall between MN and HA. The Firewall Detection message uses the
   MH Type value TBD.  When this value is indicated in the MH Type
   field, the format of the Message Data field in the Mobility Header is
   as follows:

				    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                    |           Reserved            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    +                   Firewall Detection Cookie                   +
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    .                                                               .
    .                       Mobility Options                        .
    .                                                               .
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Reserved

      16-bit field reserved for future use.  This value MUST be
      initialized to zero by the sender, and MUST be ignored by the
      receiver.

   Firewall Detection Cookie

      64-bit field which contains a random value, the firewall detection
      cookie.

   Mobility Options

      Variable-length field of such length that the complete Mobility
      Header is an integer multiple of 8 octets long.  This field
      contains zero or more TLV-encoded mobility options.  The receiver
      MUST ignore and skip any options which it does not understand.
      This specification does not define any options valid for the Home
      Test Init message.

   If no option presents in the message, no padding is required and the
   Header Len field is set to 1.


Miao, et al.             Expires: November 2006                 [Page 7]

draft-miao-mip6-ft-02.txt                                       May 2006


   (2)Firewall Detection Reply message

   The Firewall Detection Reply (FDR) message is a response to the
   Firewall Detection message, and is sent from HA to MN. The Firewall
   Detection Reply message uses the MH Type value TBD.  When this value
   is indicated in the MH Type field, the format of the Message Data
   field in the Mobility Header is as follows:

				    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                    |           Reserved            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    +                   Firewall Detection Cookie                   +
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    .                                                               .
    .                       Mobility Options                        .
    .                                                               .
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Reserved

      16-bit field reserved for future use.  This value MUST be
      initialized to zero by the sender, and MUST be ignored by the
      receiver.

   Firewall Detection Cookie

      64-bit field which contains a random value, the firewall detection
      cookie.

   Mobility Options

      Variable-length field of such length that the complete Mobility
      Header is an integer multiple of 8 octets long.  This field
      contains zero or more TLV-encoded mobility options.  The receiver
      MUST ignore and skip any options which it does not understand.
      This specification does not define any options valid for the Home
      Test Init message.

   If option presents in the message, no padding is required and the
   Header Len field is set to 1.







Miao, et al.             Expires: November 2006                 [Page 8]

draft-miao-mip6-ft-02.txt                                       May 2006


4.2. Detection Procedure

   In mobile IPv6 specification, each time MN moves into a different
   link, it first updates its CoA/HoA binding in HA with BU message. But
   the BU message has the possibility to be dropped by firewalls along
   the path. To ensure the normal communication, the firewall detection
   procedure should be performed in the first time.

   when MN moves to a new link, it sends two Firewall Detection
   message to HA, one message is UDP encapsulated while the other one is
   not. These two messages contain the same value of Firewall Detection
   Cookie which is used to match the pair of messages. HA responds
   with the Firewall Detection Reply message, whether the reply is
   encapsulated depends on the received message, in other word, an
   encapsulated reply corresponds to an encapsulated request and an
   unencapsulaten reply corresponds to an unencapsulated request. The
   procedure works on the basis of fact that the encapsulated message
   could always pass through the firewall.

   The reply messages MN received will indicate the existence of
   firewall. If MN receives two reply messages, both the encapsulated
   one and the unencapsulated one, it means that there is no firewall
   between HA and MN or firewall allows ESP data to pass through at
   least. Neither case impacts the communication between MN and
   HA, so there is no need of encapsulation for following messages. If
   MN receives the encapsulated message only, it means there is firewall
   between MN and HA, so UDP encapsulation is required to enable ESP
   data to pass through the firewall.

   There may be network congestion or failure, either of the
   packets may be lost on the path. Because the two messages are sent
   "at the same time", so it is very possible that they are both lost, 
   which will cause the retransmitting of the two requests. But it is
   still possible only one message is lost, especially when the two
   messages are sent along different path in the network. If only the
   encapsulated message is lost, it indicates that there is no firewall
   along the path. If the unencapsulated message is lost, MN may use
   encapsulation according to received packet while there is no firewall
   actually. It is the only case the firewall detection approach may
   fail,but such failure is more acceptable than UDP encapsulation
   proactively.

5. Problem Unsolved

   When MN moves to a network protected by firewalls, communication whit
   CN may also be blocked, as described in [6], so further research is 
   required.


Miao, et al.             Expires: November 2006                 [Page 9]

draft-miao-mip6-ft-02.txt                                       May 2006


6. Security Considerations

   When the firewall administrator wants to configure his device to
   support mobile IPv6, care must be taken. Because the mobile IPv6
   works on the network layer, so the rules that allow moblile IPv6
   packets to pass through must have the lowest priority.

7. Acknowledgments 

   I would like to appreciate all the project members Chen Jian,
   Ren Yan, Su Wei, Yang He, Zheng Zuzhou. 

8. References

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

   [2]   Johnson, D., Perkins, C. and J. Arkko, "Mobility Support in
         IPv6", RFC 3775, June 2004.

   [3]   Montenegro, G. and Gupta V., "Sun's SKIP Firewall Traversal for
         Mobile IP", RFC 2356, June 1998.

   [4]   Thiruvengadam S., Tschofenig H. and F. Le, "Mobile IPv6 - NSIS
         Interaction for Firewall traversal",
	 draft-thiruvengadam-nsis-mip6-fw-01 (work in progress), October
	 23, 2004.

   [5]   Stiemerling, M., "A NAT/Firewall NSIS Signaling Layer Protocol
         (NSLP)", draft-ietf-nsis-nslp-natfw-03 (work in progress), July
         2004.

   [6]   Le, F., "Mobile IPv6 and Firewalls Problem statement",
         draft-ietf-mip6-firewalls-03 (work in progress), August 2004.

9. Author's address

   Miao Fuyou                           Tel: +86 10 8288 2350
   Huawei Technologies                  Fax: +86 10 8288 2537
   No. 3, Xinxi Road, Shangdi, Haidian
   Beijing
   China,100085                         Email: miaofy@huawei.com

   Yang Shen                            Tel: +86 10 5168 5677
   IP Lab,EIES                          Fax: +86 10 5168 3682
   Beijing Jiaotong University of China
   Beijing                              http://iplab.njtu.edu.cn
   China,100044                         EMail: belton.yang@hotmail.com



Miao, et al.             Expires: November 2006                [Page 10]

draft-miao-mip6-ft-02.txt                                       May 2006


   Zhang Hongke                         Tel: +86 10 5168 5677
   IP Lab,EIES                          Fax: +86 10 5168 3682
   Beijing Jiaotong University of China
   Beijing                            http://iplab.njtu.edu.cn
   China,100044                       EMail: hkzhang@center.njtu.edu.cn

   Zhang Sidong                         Tel: +86 10 5168 5677
   IP Lab,EIES                          Fax: +86 10 5168 3682
   Beijing Jiaotong University of China
   Beijing                            http://iplab.njtu.edu.cn
   China,100044                       EMail: sdzhang@center.njtu.edu.cn


Full Copyright Statement

   Copyright (C) The Internet Society (2006).  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.

   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.

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



Miao, et al.             Expires: November 2006                [Page 11]

draft-miao-mip6-ft-02.txt                                       May 2006


   this standard.  Please address the information to the IETF at ietf-
   ipr@ietf.org.

Expiration

   This Internet-Draft (draft-miao-mip6-ft-02.txt) expires in
   November, 2006.












































Miao, et al.           Expires: November 2006                  [Page 12]