Network Working Group                                        S. Krishnan
Internet-Draft                                                  Ericsson
Intended status: Standards Track                              Y. Sheffer
Expires: April 11, November 19, 2009                                   Check Point
                                                         N. Steinleitner
                                                University of Goettingen
                                                                G. Bajko
                                                         October 8, 2008
                                                            May 18, 2009

        Guidelines for firewall vendors regarding MIPv6 traffic

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-

   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

   The list of Internet-Draft Shadow Directories can be accessed at

   This Internet-Draft will expire on April 11, November 19, 2009.


   This document presents some recommendations for firewall vendors to
   help them implement their firewalls in a way that allows Mobile IPv6
   signaling and data messages to pass through.  This document describes
   how to implement stateful packet filtering capability for MIPv6.

Table of Contents

   1.  Requirements notation . . . . . . . . . . . . . . . . . . . . . 3
   2.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   3.  MIPv6 Firewall Primitives . . . . . . . . . . . . . . . . . . . 3
     3.1.  Requirements  . . . . . . . . . . . . . . . . . . . . . . . 3
     3.2.  Detecting and parsing the Mobility Header . . . . . . . . . 3
     3.3.  Parsing Mobility Options  . . . . . . . . . . . . . . . . . 4
   4.  Allowing signaling response packets . . . . . . . . . . . . . . 4
   5.  Allowing data packets based on signaling  . . . . . . . . . . . 5
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 6
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
   8.  Security Considerations . . . . . . . . . . . . . . . . . . . . 6
   9.  Normative References  . . . . . . . . . . . . . . . . . . . . . 7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 7
   Intellectual Property and Copyright Statements  . . . . . . . . . . 9

1.  Requirements notation

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   document are to be interpreted as described in [RFC2119].

2.  Introduction

   Network elements such as firewalls are an integral aspect of a
   majority of IP networks today, given the state of security in the
   Internet, threats, and vulnerabilities to data networks.  MIPv6
   [RFC3775] defines mobility support for IPv6 nodes.  Since firewalls
   are not aware of MIPv6 protocol details, they will probably interfere
   with the smooth operation of the protocol.  The problems caused by
   firewalls to Mobile IPv6 are documented in [RFC4487].

   This document presents some recommendations for firewall vendors to
   help them implement their firewalls in a way that allows Mobile IPv6
   signaling and data messags to pass through.  This document describes
   how to implement stateful packet filtering capability for MIPv6.

   Some Mobile IPv6 signalling messages require the use of encryption to
   protect the confidentiality of the payload (e.g. the HoTI and HoT
   messages between the MN and the HA).  The other signalling messages
   allow the use of encryption.  If encryption is being used, it is not
   possible to inspect the contents of the signalling packets.  For
   these messages to get through, a generic rule needs to be added in
   the firewall to let ESP packets through without further inspection.

3.  MIPv6 Firewall Primitives

3.1.  Requirements

   This document assumes that the firewalls are capable of deep packet
   inspection at least until the mobility header.  It also assumes that
   the firewalls are capable of creating filters based on arbitrary
   fields based on the contents of a signaling packet.

3.2.  Detecting and parsing the Mobility Header

   The Mobility Header is the basic primitive in all MIPv6 signaling
   messages.  Thus the firewalls need to be able to recognize the
   presence of the mobility header and be able to parse the contents of
   the Mobility Header.  The MH is described in section 6.1 of [RFC3775]
   and the format of the same is scribed in section 6.1.1 of [RFC3775].
   Firewalls need to be able to at least understand the contents of the
   MH Type field that describes the type of signaling message carried.

3.3.  Parsing Mobility Options

   The Mobility Header can carry additional information in the form of
   mobility options as described in section 6.2 of [RFC3775].  Some of
   these mobility options need to be understood for proper creation of
   state on the firewalls.  Hence firewalls must be able to parse the
   mobility options defined in [RFC3775].

4.  Allowing signaling response packets

   The MIPv6 signalling messages are usually performed as a request-
   response pair.  The request message is usually allowed by setting up
   a static firewall rule to allow the traffic to pass through.  The
   response message on the other hand can be dynamically allowed if the
   firewall can automatically setup a filter for the response packets
   when the request packet passes through.  This is not trivial, but
   fortunately is straightforward.  There are 3 message pairs that are
   of importance to MIPv6 signaling.  They are the BU/BA, HoTI/HoT and
   CoTI/CoT pairs.  When the first message in the pair traverses the
   firewall in one direction, the firewall must setup a filter rule to
   allow the second message through in the other direction.

   Consider a packet that matches a static rule configured on a firewall

     Destination Address: Address of HA
     Next Header: 50 (ESP)
     Mobility Header Type: 5 (BU)

   This rule allows a binding update message from a MN to pass through
   to the HA.  Once a packet that matches this rule passes through the
   firewall, the firewall must setup a dynamic filter for the return

     Source Address: Destination Address from Packet

     Destination Address: Source Address from Packet
     Next Header: 50 (ESP)
     Mobility Header Type: 6 (BA)

   This rule ensures that the return BA packet will pass through
   unhindered.  The rules can be generalized as summarized in the table

   |      Passing packet MH Type     |   Setup return filter with MH   |
   |                                 |               Type              |
   |   Mobility Header Type:1(HoTI)  |   Mobility Header Type:3(HoT)   |
   |   Mobility Header Type:2(CoTI)  |   Mobility Header Type:4(CoT)   |
   |    Mobility Header Type:5(BU)   |    Mobility Header Type:6(BA)   |

                      Table 1: Message Pairs in MIPv6

   Such dynamic rules can be timed out after a configurable period
   STATEFUL_PINHOLE_LIFETIME, unless renewed by new mobility messages.
   This document recommends that the default value of
   STATEFUL_PINHOLE_LIFETIME be set to 30 seconds.

   These dynamic rules MUST be immediately deleted after the return
   message passes through. e.g.  Once a return HoT message for a HoTI
   passes through, the pinhole must be immediately removed.  The loss of
   the HoT packet after passing the firewall needs to be handled by the
   original MN retransmitting the HoTI message.

5.  Allowing data packets based on signaling

   Once the MIPv6 signaling completes, the data traffic can begin to
   flow.  The traffic filters for the data traffic can be inferred from
   the contents of the signaling messages that setup the session.  This
   section describes how firewalls can intelligently setup filters for
   data traffic based on signaling traffic.The following example
   describes how to setup a filter for allowing incoming route optimized
   messages from a CN to an MN after the MN sent a BU message to a CN.

   When the BU message from MN to CN (MH Type 5) traverses through the
   firewall the firewall extracts the home address (HoA) from the Home
   Address Option (section 6.3 of [RFC3775]) of the packet.

   The firewall adds the following rule in order to let the return
   traffic pass.

     Destination Address: Source Address of the packet (MN CoA)
     Source Address: Destination Address of packet (CN)
     Routing Header Type 2 Address: HoA

   This pattern allows all route optimized traffic coming from the CN to
   the MN to pass through.

   Additionally, the firewall adds a second rule in order to let the
   data traffic from the MN to the CN pass through.

     Source Address: Source Address of the packet (MN CoA)
     Destination Address: Destination Address of packet (CN)
     Next Header: IPv6 Destination Options Header(60)
     Home Address Dest.  Option: MN HoA

   This pattern allows all route optimized traffic coming from the MN to
   the CN to pass through.

   A firewall protecting the HA can add the following rule on reception
   of a HA binding update, in order to let the incoming bi-directional
   tunneled traffic pass.

     Destination Address: Source Address of the packet (MN HoA)
     Source Address: Destination Address of packet (CN)

6.  Acknowledgements

   The authors would like to thank the following members of the MIPv6
   firewall design team for contributing to this document: Hannes
   Tschofenig, Hesham Soliman, Qiu Ying, and Vijay Devarapalli.  The
   authors would also like to thank William Ivancic, Ryuji Wakikawa,
   Jari Arkko, Henrik Levkowetz, Pasi Eronen and Noriaki Takamiya for
   their thorough reviews of the document and for providing comments to
   improve the quality of the document.

7.  IANA Considerations

   This document does not require any IANA action.

8.  Security Considerations

   This document specifies recommendations for firewall vendors to allow
   Mobile IPv6 traffic to pass through unhindered.  This document
   recommends a liberal setting of firewall rules so that all legitimate
   traffic may be allowed to pass.  This means that some malicious
   traffic may be permitted by these rules.  These rules may allow the
   initiation of Denial of Service attacks against Mobile IPv6 capable
   nodes (the MNs, CNs and the HAs).

   One of the main goals of any firewall is to prevent unsolicited
   traffic from entering the network.  The proposed solution allows such
   traffic into the network, albeit with a number of restrictions.

   In a typical enterprise environment, an administrator cannot
   distinguish Mobile IPv6 capable nodes from other nodes.  In such a
   situation any node in the protected network may end up receiving
   unsolicited packets from outside the firewall.  The risk in this case
   is that such packets could trigger unknown vulnerabilities in any of
   these nodes, causing denial-of-service or worse attacks.  This issue
   is compounded in a mobile service provider environment by the risks
   specific to such environments like endpoint battery exhaustion and
   spectrum misuse.

9.  Normative References

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

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

   [RFC4487]  Le, F., Faccin, S., Patil, B., and H. Tschofenig, "Mobile
              IPv6 and Firewalls: Problem Statement", RFC 4487,
              May 2006.

Authors' Addresses

   Suresh Krishnan
   8400 Decarie Blvd.
   Town of Mount Royal, QC

   Phone: +1 514 345 7900 x42871

   Yaron Sheffer
   Check Point
   5 Hasolelim St.
   Tel Aviv 67897

   Niklas Steinleitner
   University of Goettingen
   Lotzestr. 16-18


   Gabor Bajko


Full Copyright Statement

   Copyright (C) The IETF Trust (2008). (2009).

   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

Intellectual Property

   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

   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