diff options
| author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 | 
|---|---|---|
| committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 | 
| commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
| tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc2356.txt | |
| parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) | |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc2356.txt')
| -rw-r--r-- | doc/rfc/rfc2356.txt | 1346 | 
1 files changed, 1346 insertions, 0 deletions
diff --git a/doc/rfc/rfc2356.txt b/doc/rfc/rfc2356.txt new file mode 100644 index 0000000..adb285d --- /dev/null +++ b/doc/rfc/rfc2356.txt @@ -0,0 +1,1346 @@ + + + + + + +Network Working Group                                      G. Montenegro +Request for Comments: 2356                                      V. Gupta +Category: Informational                           Sun Microsystems, Inc. +                                                               June 1998 + + +              Sun's SKIP Firewall Traversal for Mobile IP + +Status of This Memo + +   This memo provides information for the Internet community.  This memo +   does not specify an Internet standard of any kind.  Distribution of +   this memo is unlimited. + +Copyright Notice + +   Copyright (C) The Internet Society (1998).  All Rights Reserved. + +Abstract + +   The Mobile IP specification establishes the mechanisms that enable a +   mobile host to maintain and use the same IP address as it changes its +   point of attachment to the network. Mobility implies higher security +   risks than static operation, because the traffic may at times take +   unforeseen network paths with unknown or unpredictable security +   characteristics. The Mobile IP specification makes no provisions for +   securing data traffic.  The mechanisms described in this document +   allow a mobile node out on a public sector of the internet to +   negotiate access past a SKIP firewall, and construct a secure channel +   into its home network. + +   In addition to securing traffic, our mechanisms allow a mobile node +   to roam into regions that (1) impose ingress filtering, and (2) use a +   different address space. + +Table of Contents + +   1. Introduction ...............................................    2 +   2. Mobility without a Firewall ................................    4 +   3. Restrictions imposed by a Firewall .........................    4 +   4. Two Firewall Options: Application relay and IP Security ....    5 +   4.1 SOCKS version 5 [4] .......................................    5 +   4.2 SKIP [3] ..................................................    6 +   5. Agents and Mobile Node Configurations ......................    8 +   6. Supporting Mobile IP: Secure Channel Configurations ........    9 +   6.1 I: Encryption only Outside of Private Network .............    9 +   6.2 II: End-to-End Encryption .................................   10 +   6.3 III: End-to-End Encryption, Intermediate Authentication ...   10 + + + +Montenegro & Gupta           Informational                      [Page 1] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +   6.4 IV: Encryption Inside and Outside .........................   10 +   6.5 Choosing a Secure Channel Configuration ...................   11 +   7. Mobile IP Registration Procedure with a SKIP Firewall ......   11 +   7.1. Registration Request through the Firewall ................   12 +   7.1.1. On the Outside (Public) Network ........................   13 +   7.1.2. On the Inside (Private) Network ........................   14 +   7.2. Registration Reply through the Firewall ..................   14 +   7.2.1. On the Inside (Private) Network ........................   15 +   7.2.2. On the Outside (Public) Network ........................   15 +   7.3. Traversal Extension ......................................   16 +   8. Data Transfer ..............................................   18 +   8.1. Data Packet From the Mobile Node to a Correspondent Node .   18 +   8.2. Data Packet From a Correspondent Node to the Mobile Node .   19 +   8.2.1 Within the Inside (Private) Network .....................   20 +   8.2.2. On the Outside (Public) Network ........................   21 +   9. Security Considerations ....................................   21 +   Acknowledgements ..............................................   22 +   References ....................................................   22 +   Authors' Addresses ............................................   23 +   Full Copyright Statement ......................................   24 + +1. Introduction + +   This document specifies what support is required at the firewall, the +   Mobile IP [1] home agent and the Mobile IP mobile node to enable the +   latter to access a private network from the Internet.  For example, a +   company employee could attach his/her laptop to some Internet access +   point by: + +      a)   Dialing into a PPP/SLIP account on an Internet service +           provider's network. + +      b)   Connecting into a 10Base-T or similar LAN network available +           at, for example, an IETF terminal room, a local university, +           or another company's premises. + +   Notice that in these examples, the mobile node's relevant interface +   (PPP or 10Base-T) is configured with an IP address different from +   that which it uses "normally" (i.e. at the office). Furthermore, the +   IP address used is not necessarily a fixed assignment. It may be +   assigned temporarily and dynamically at the beginning of the session +   (e.g. by IPCP in the PPP case, or DHCP in the 10Base-T case). + +   The following discussion assumes a network configuration consisting +   of a private network separated by a firewall from the general +   Internet or public network.  The systems involved are: + + + + + +Montenegro & Gupta           Informational                      [Page 2] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +      Private Network + +           A protected network separated from the Internet by hosts +           enforcing access restrictions (firewalls). A private network +           may use a private address space, and its addresses may not +           even be routable by the general internet. + +      Public Network + +          The Internet at large. Hosts are able to communicate with each +          other throughout the public network without firewall-imposed +          restrictions. + +      Mobile Node (MN) + +          Its permanent address falls within the range of the private +          network. The user removes the system from its home network, +          and connects it to the Internet at another point.  The +          mechanisms outlined in this discussion render this mobility +          transparent:  the mobile node continues accessing its home +          network and its resources exactly as if it were still within +          it.  Notice that when the mobile node leaves its home +          network, it may migrate both within and outside of the +          private network's boundaries. As defined by Mobile IP [1], a +          mobile node uses a care-of address while roaming. + +      Home Agent (HA) for the mobile node + +         Serves as a location registry and router as described in the +         Mobile IP IETF draft. + +      Foreign Agent (FA) + +         Serves as a registration relayer and care of address for the +         mobile node as described in the Mobile IP IETF draft. + +      Correspondent Node (CH) + +         A system that is exchanging data packets with the mobile +         node. + +      Firewall (FW) + +         The system (or collection of systems) that enforces access +         control between the private network and the general Internet. +         It may do so by a combination of functions such as application +         gatewaying, packet filtering and cryptographic techniques. + + + + +Montenegro & Gupta           Informational                      [Page 3] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +   The mechanisms described in this document allow a mobile node out on +   a public sector of the network to negotiate access past a SKIP +   firewall, and construct a secure channel into its home network.  This +   enables it to communicate with correspondent nodes that belong to the +   private network, and, if bi-directional tunnels are used, with +   external hosts that are reachable when the mobile node is at home. +   The mobile node enjoys the same level of connectivity and privacy as +   it does when it is in its home network. + +   This document does not address the scenario in which the mobile node +   attempts to access its private network, while within another private +   network. + +   Sections 2 and 3 provide an overview of the environment being +   considered and the restrictions it imposes.  Section 4 examines +   firewall technologies. Section 5 discusses the best mode of operation +   of the participating entities from the point of view of Mobile IP. +   Section 6 discusses possible configuration for the secure channel. +   Finally, packet formats are the topic of sections 7 and 8. + +2. Mobility without a Firewall + +   Suppose the mobile node is roaming throughout the general Internet, +   but its home network is not protected by a firewall. This is +   typically found in academic environment as opposed to corporate +    networks. + +   This works as prescribed by Mobile IP [1]. The only proviso is that +   the mobile node would most probably operate with a co-located address +   instead of using a separate foreign agent's care-of address.  This is +   because, at least in the near term, it is far more likely to be able +   to secure a temporary care-of-address than it is to find a foreign +   agent already deployed at the site you are visiting. For example: + +   -   Internet Service Provider: pre-assigns customers IP addresses, +       or assigns them out dynamically via PPP's address negotiation. + +   -   An IETF terminal room may pre-assign addresses for your use or +       offer DHCP services. + +   -   Other locations probably would offer DHCP services. + +3. Restrictions imposed by a Firewall + +   The firewall imposes restrictions on packets entering or leaving the +   private network. Packets are not allowed through unless they conform +   to a filtering specification, or unless there is a negotiation +   involving some sort of authentication. + + + +Montenegro & Gupta           Informational                      [Page 4] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +   Another restriction is imposed by the separation between private +   addresses and general Internet addresses. Strictly speaking, this is +   not imposed by a firewall, but by the characteristics of the private +   network. For example, if a packet destined to an internal address +   originates in the general Internet, it will probably not be +   delivered.  It is not that the firewall drops it. Rather, the +   Internet's routing fabric is unable to process it. This elicits an +   ICMP host unreachable packet sent back to the originating node. + +   Because of this, the firewall MUST be explicitly targeted as the +   destination node by outside packets seeking to enter the private +   network. The routing fabric in the general Internet will only see the +   public address of the firewall and route accordingly.  Once the +   packet arrives at the firewall, the real packet destined to a private +   address is recovered. + +4. Two Firewall Options: Application relay and IP Security + +   Before delving into any details, lets examine two technologies which +   may provide firewall support for mobile nodes: + +   -   application relaying or proxying, or + +   -   IP Security. + +   To understand the implications, let's examine two specific schemes to +   accomplish the above: SOCKS version 5 and SKIP. + +4.1 SOCKS version 5 [4] + +   There is an effort within the authenticated firewall traversal WG +   (aft) of the IETF to provide a common interface for application +   relays. + +   The solution being proposed is a revised specification of the SOCKS +   protocol. Version 5 has been extended to include UDP services as +   well.  The SOCKS solution requires that the mobile node -- or another +   node on its behalf -- establish a TCP session to exchange UDP traffic +   with the FW. It also has to use the SOCKS library to encapsulate the +   traffic meant for the FW. The steps required by a SOCKS solution are: + +   -   TCP connection established to port 1080 (1.5 round trips) + +   -   version identifier/method selection negotiation (1 round trip) + +       -   method-dependent negotiation. For example, the +           Username/Password Authentication [5] requires 1 round trip: + + + + +Montenegro & Gupta           Informational                      [Page 5] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +           1. client sends a Username/Password request +           2. FW (server) responds + +           The GSS-API negotiation requires at least 3 round trips: + +           1. client context establishment (at least 1 round trip) +           2. client initial token/server reply (1 round trip) +           3. message protection subnegotiation (at least 1 round trip) + +   -   (finally) SOCKS request/reply (1 round trip) + +   This is a minimum of 4 (6 with GSS-API) round-trips before the client +   is able to pass data through the FW using the following header: + +      +----+------+------+----------+----------+----------+ +      |RSV | FRAG | ATYP | DST.ADDR | DST.PORT |   DATA   | +      +----+------+------+----------+----------+----------+ +      | 2  |  1   |  1   | Variable |    2     | Variable | +      +----+------+------+----------+----------+----------+ + +   Bear in mind that the above must be done each time the mobile +   registers a new care-of address. In addition to this inefficiency, +   this scheme requires that we use UDP to encapsulate IP datagrams. +   There is at least one commercial network that does this, but it is +   not the best solution. + +   Furthermore, SOCKS defines how to establish authenticated +   connections, but currently it does not provide a clear solution to +   the problem of encrypting the traffic. + +   This header contains the relay information needed by all parties +   involved to reach those not directly reachable. + +4.2 SKIP [3] + +   Alternatively, traffic from the mobile node to the firewall could be +   encrypted and authenticated using a session-less IP security +   mechanism like SKIP. This obviates the need to set up a session just +   to exchange UDP traffic with the firewall. + +   A solution based on SKIP is very attractive in this scenario, as no +   round trip times are incurred before the mobile node and the firewall +   achieve mutual trust: the firewall can start relaying packets for the +   mobile node as soon as it receives the first one.  This, of course, +   implies that SKIP is being used with AH [7] so that authentication +   information is contained in each packet.  Encryption by using ESP [6] +   is also assumed in this scenario, since the Internet at large is +   considered a hostile environment.  An ESP transform that provides + + + +Montenegro & Gupta           Informational                      [Page 6] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +   both authentication and encryption could be used, in which case the +   AH header need not be included. + +   The firewall and the mobile node may be previously configured with +   each other's authenticated Diffie-Hellman public components (also +   known as public values).  Alternatively, they could exchange them in +   real-time using any of the mechanisms defined by the SKIP protocol +   (on-line certificate directory service or certificate discovery +   protocol). Home agents and the firewall also MUST have, be able to +   exchange or obtain each other's public components. + +   There are other proposals besides SKIP to achieve IP layer security. +   However, they are session-oriented key management solutions, and +   typically imply negotiations spanning several round-trip times before +   cryptographically secure communications are possible.  In this +   respect they raise similar concerns to those outlined previously in +   the discussion on SOCKS-based solutions.  Others have arrived at +   similar conclusions regarding the importance of session-less key +   management for Mobile IP applications [8]. + +   Another advantage of SKIP is its support for nomadic applications. +   Typically, two hosts communicating via a secure IP layer channel use +   the IP source and destination addresses on incoming packets to arrive +   at the appropriate security association. The SKIP header can easily +   supersede this default mechanism by including the key ID the +   recipient must use to obtain the right certificate. + +   The key id is specified by two fields in the SKIP header: + +      1) a name space identifier (NSID) to indicate which of the +         possible name spaces is being used, and, + +      2) a master key identifier (MKID) that uniquely indicates (within +         the given name space) an id to use in fetching the proper +         certificate. + +   As an example, by setting NSID to 1 and MKID to its home address, a +   mobile node tells a receiver "ignore the IP source and use my home +   address instead to look up my public component". Similarly, setting +   NSID to 8 enables using Unsigned Diffie-Hellman (UDH) certificates. + +   In this case, the MKID is set to the MD5 hash of the DH public +   component [10]. + +   In addition to the NSID/MKID feature, Mobile IP is best supported by +   an appropriate policy at the SKIP firewall in the form of a "nomadic" +   access control list entry. This is an entry which is filtered by key +   ID, instead of by IP source address, as is the usual case. It + + + +Montenegro & Gupta           Informational                      [Page 7] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +   translates to "allow access from any IP source address for a given +   NSID/MKID combination".  Furthermore, incoming packets MUST have an +   AH header, so that after properly authenticating them, the firewall +   establishes a "current address" or "dynamic binding" for the nomadic +   host.  The NSID/MKID combination determines which key should be used +   with the nomadic host [9]. + +   Notice that this supports Mobile IP, because the mobile node always +   initiates contact. Hence, the SKIP firewall has a chance to learn the +   mobile node's "current address" from an incoming packet before it +   attempts to encrypt an outgoing packet. + +   However, this precludes the use of simultaneous bindings by a mobile +   node.  At the firewall, the last Registration Request sent by the +   mobile node replaces the association between its permanent address +   and any prior care-of address. In order to support simultaneous +   bindings the firewall must be able to interpret Mobile IP +   registration messages. + +   Section 7.2.2 discusses another advantage of making the firewall +   understand Mobile IP packet formats. + +   In what follows we assume a SKIP-based solution. + +5. Agents and Mobile Node Configurations + +   Depending on which address it uses as its tunnel endpoint, the Mobile +   IP protocol specifies two ways in which a mobile node can register a +   mobility binding with its home agent. + +      a)   an address advertised for that purpose by the foreign agent + +      b)   an address belonging to one of the mobile node's interfaces +           (i.e. operation with a co-located address). + +   From the firewall's point of view, the main difference between these +   two cases hinges on which node prepares the outermost encrypting +   encapsulation.  The firewall MUST be able to obtain the Diffie- +   Hellman public component of the node that creates the outermost SKIP +   header in an incoming packet. This is only possible to guarantee in +   case "b", because the mobile node and the firewall both belong to the +   same administrative domain. The problem is even more apparent when +   the mobile node attempts a Registration Request.  Here, the foreign +   agent is not just a relayer, it actually examines the packet sent by +   the mobile node, and modifies its agent services accordingly. In +   short, assuming the current specification of Mobile IP and the +   current lack of trust in the internet at large, only case "b" is +   possible. Case "a" would require an extension (e.g. a "relay" + + + +Montenegro & Gupta           Informational                      [Page 8] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +   Registration Request), and modifying code at the home agent, the +   firewall and the foreign agent. + +   Assuming that the firewall offers a secure relay service (i.e. +   decapsulation and forwarding of packets), the mobile node can reach +   addresses internal to the private network by encapsulating the +   packets in a SKIP header and directing them to the firewall. + +   Therefore, It is simplest to assume that the mobile node operates +   with a co-located address. + +6. Supporting Mobile IP: Secure Channel Configurations + +   The mobile node participates in two different types of traffic: +   Mobile IP registration protocol and data. For the sake of simplicity, +   the following discussion evaluates different secure channel +   configurations by examining the initial Registration Request sent by +   the mobile node to its home agent. + +   Assuming the mobile node operates with a co-located address, it can +   communicate directly with the firewall.  The latter is able to reach +   the home agent in the private network. Also, the firewall MUST be +   able to authenticate the mobile node. + +   The following channel configurations assume the mobile node operates +   with a co-located address. The region between the HA (home agent) and +   the FW (firewall) is a private network. The region between the FW and +   the MN (mobile node) is the outside or public network. + +6.1 I: Encryption only Outside of Private Network + + +   HA            FW                        MN +                  <=====================>  SKIP (AH + ESP) +    <----------------------------------->  Registration Request path + +   The traffic is only encrypted between the mobile node out on the +   general Internet, and the firewall's external interface. This is +   minimum required. It is the most desirable configuration as the more +   expensive encrypted channel is only used where it is necessary: on +   the public network. + + + + + + + + + + +Montenegro & Gupta           Informational                      [Page 9] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +6.2 II: End-to-End Encryption + +   Another possible configuration extends the encrypted tunnel through +   the firewall: + +   HA            FW                        MN +    <===================================>  SKIP (AH + ESP) +    <----------------------------------->  Registration Request path + +   This limits the firewall to perform a simple packet relay or +   gatewaying function. Even though this could be accomplished by using +   the proper destination NSID in the packet, in practice it is probably +   unrealizable. The reason is that this alternative is probably not +   very popular with computer security personnel, because authentication +   is not carried out by the firewall but by the home agent, and the +   latter's security is potentially much weaker than the former's. + +6.3 III: End-to-End Encryption, Intermediate Authentication + +   A third alternative is to allow the firewall to be party to the +   security association between the home agent and the mobile node. +   After verifying authentication (AH header), the firewall forwards the +   encrypted packet (ESP hdr) to the home agent. + +   HA            FW                        MN +                  <+++++++++++++++++++++>  SKIP authentication +    <===================================>  SKIP encryption +    <----------------------------------->  Registration Request path + +   Here, SKIP is used to provide intermediate authentication with end- +   to-end security. Although possible, this option implies that the +   participating entities disclose their pairwise long-term Diffie- +   Hellman shared secret to the intermediate node. + +   Whereas Option 2 above is probably not agreeable to security and +   system administration personnel, option 3 is unsavory to the end +   user. + +6.4 IV: Encryption Inside and Outside + +   HA            FW                        MN +    <============><=====================>  SKIP (AH + ESP) +    <----------------------------------->  Registration Request path + +   Traffic is encrypted on the public as well as on the private network. +   On the public network, encryption is dictated by a security +   association between the mobile node and the firewall.  On the private +   network, it is dictated by a security association between the home + + + +Montenegro & Gupta           Informational                     [Page 10] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +   agent and the firewall. + +6.5 Choosing a Secure Channel Configuration + +   A potential problem in both options 2 and 3 is that their end-to-end +   channel components assume that the mobile node and the home agent can +   exchange IP traffic directly with each other. This is generally not +   the case, as the Internet routing fabric may not have routes to +   addresses that belong to private networks, and the private routing +   fabric may ignore how to route to public addresses -- or doing so may +   be administratively restricted.  Therefore, it is necessary for +   packets to be addressed directly to the firewall, and indirectly -- +   via some tunneling or relaying capability -- to the real destination +   on the other side of the firewall. + +   Options 1 and 4 are essentially equivalent. The latter may be +   considered overkill, because it uses encryption even within the +   private network, and this is generally not necessary. What is +   necessary even within the private network is for the home agent to +   add an encapsulation (not necessarily encrypted) so as to direct +   datagrams to the mobile node via the firewall. The type of +   encapsulation used determines the difference between options 1 and 4. +   Whereas option 4 uses SKIP, option 1 uses a cleartext encapsulation +   mechanism.  This is obtainable by, for example, using IP in IP +   encapsulation [2]. + +   Options 1 and 4 are mostly interchangeable. The difference is, of +   course, that the former does not protect the data from eavesdroppers +   within the private network itself. This may be unacceptable in +   certain cases. Traffic from some departments in a company (for +   example payroll or legal) may need to be encrypted as it traverses +   other sections of the company. + +   In the interest of being conservative, in what follows we assume +   option 4 (i.e. traffic is encrypted on the general Internet, as well +   as within the private network. + +   Since the firewall is party to the security associations governing +   encryption on both the public and private networks, it is always able +   to inspect the traffic being exchanged by the home agent and the +   mobile node. If this is of any concern, the home agent and mobile +   node could set up a bi-directional tunnel and encrypt it. + +7. Mobile IP Registration Procedure with a SKIP Firewall + +   When roaming within a private network, a mobile node sends +   Registration Requests directly to its home agent. On the public +   Internet, it MUST encapsulate the original Registration Request in a + + + +Montenegro & Gupta           Informational                     [Page 11] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +   SKIP packet destined to the firewall.  The mobile node MUST +   distinguish between "inside" and "outside" addresses. This could be +   accomplished by a set of rules defining the address ranges. +   Nevertheless, actual installations may present serious difficulties +   in defining exactly what is a private address and what is not. + +   Direct human input is a very effective method: it may be obvious to +   the user that the current point of attachment is outside its private +   network, and it should be possible to communicate this knowledge to +   the mobile node software. + +   The home agent must also distinguish between "inside" and "outside" +   addresses, but lacks the potential benefit of direct user input. +   Accordingly, it should be possible for the mobile node to communicate +   that knowledge to the home agent. To accomplish this we define a +   Traversal Extension to the Registration Requests and Replies.  This +   extension is also useful when traversing multiple firewalls. + +   In spite of the above mechanisms, errors in judgement are to be +   expected.  Accordingly, the firewall SHOULD be configured such that +   it will still perform its relaying duties even if they are +   unnecessarily required by a mobile node with an inside care-of +   address. + +   Upon arriving at a foreign net and acquiring a care-of address, the +   mobile node must first -- before any data transfer is possible -- +   initiate a registration procedure. This consists of an authenticated +   exchange by which the mobile node informs its home agent of its +   current whereabouts (i.e. its current care-of address), and receives +   an acknowledgement. This first step of the protocol is very +   convenient, because the SKIP firewall can use it to dynamically +   configure its packet filter. + +   The remainder of this section shows the packet formats used.  Section +   7.1 discusses how a mobile node sends a Registration Request to its +   home agent via the SKIP firewall. Section 7.2 discusses how the home +   agent send the corresponding Registration Reply to the mobile node. +   Section 7.3 defines the Traversal Extension for use with Registration +   Requests and Replies. + +7.1. Registration Request through the Firewall + +   The mobile node arrives at a foreign net, and using mechanisms +   defined by Mobile IP, discovers it has moved away from home. It +   acquires a local address at the foreign site, and composes a +   Registration Request meant for its home agent.  The mobile node must +   decide whether this packet needs to be processed by SKIP or not. + + + + +Montenegro & Gupta           Informational                     [Page 12] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +   This is not a simple rule triggered by a given destination address. +   It must be applied whenever the following conditions are met: + +      a)   the mobile node is using a care-of address that does not +           belong to the private network (i.e. the mobile node is +           currently "outside" its private network), and + +      b)   either of: + +           b1)   the source address of the packet is the mobile node's +                 home address (e.g. this packet's endpoints are +                 dictated by a connection initiated while at home), or + +           b2)   the source address of the packet is the care-of +                 address and the destination address belongs to the +                 private network + +   Since the above conditions are mobility related, it is best for the +   Mobile IP function in the node to evaluate them, and then request the +   appropriate security services from SKIP. + +7.1.1. On the Outside (Public) Network + +   The SKIP module must use the firewall destination address and the +   firewall's certificate in order to address and encrypt the packet. +   It encrypts it using SKIP combined with the ESP [6] protocol and +   possibly the AH [7] protocol. + +   The SKIP header's source NSID equals 1, indicating that the Master +   Key-ID is the mobile node's home address. Notice that the IP packet's +   source address corresponds to the care-of address -- an address whose +   corresponding public component is unknown to the firewall. + +   It is also possible to use Unsigned Diffie-Hellman public components +   [10].  Doing so greatly reduces SKIP's infrastructure requirements, +   because there is no need for a Certificate Authority. Of course, for +   this to be possible the principals' names MUST be securely +   communicated. + +   REGISTRATION REQUEST: BETWEEN THE MOBILE NODE AND THE FIREWALL +   +---------------+----------+----+-----+--------------+--------------+ +   | IP Hdr (SKIP) | SKIP Hdr | AH | ESP | Inner IP Hdr | Reg. Request | +   +---------------+----------+----+-----+--------------+--------------+ + +     IP Hdr (SKIP): +        Source          mobile node's care-of address +        Destination     firewall's public (outside) address + + + + +Montenegro & Gupta           Informational                     [Page 13] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +     SKIP Hdr: +        Source          NSID = 1 +                        Master Key-ID = IPv4 address of the mobile node +        Destination     NSID = 0 +                        Master Key-ID = none +     Inner IP Hdr: +        Source          mobile node's care-of address +        Destination     home agent's address + +7.1.2. On the Inside (Private) Network + +   The SKIP Firewall's dynamic packet filtering uses this information to +   establish a dynamic binding between the care-of address and the +   mobile node's permanent home address. + +   The destination NSID field in the above packet is zero, prompting the +   firewall to process the SKIP header and recover the internal packet. +   It then delivers the original packet to another outbound interface, +   because it is addressed to the home agent (an address within the +   private network). Assuming secure channel configuration number 4, the +   firewall encrypts the packet using SKIP before forwarding to the home +   agent. + +   REGISTRATION REQUEST: BETWEEN THE FIREWALL AND THE HOME AGENT +   +---------------+----------+----+-----+--------------+--------------+ +   | IP Hdr (SKIP) | SKIP Hdr | AH | ESP | Inner IP Hdr | Reg. Request | +   +---------------+----------+----+-----+--------------+--------------+ + +     IP Hdr (SKIP): +        Source          firewall's private (inside) address +        Destination     home agent's address + +     SKIP Hdr: +        Source          NSID = 0 +                        Master Key-ID = none +        Destination     NSID = 0 +                        Master Key-ID = none +     Inner IP Hdr: +        Source          mobile node's care-of address +        Destination     home agent's address + +7.2. Registration Reply through the Firewall + +   The home agent processes the Registration Request, and composes a +   Registration Reply. Before responding, it examines the care-of +   address reported by the mobile node, and determines whether or not it +   corresponds to an outside address.  If so, the home agent needs to +   send all traffic back through the firewall.  The home agent can + + + +Montenegro & Gupta           Informational                     [Page 14] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +   accomplish this by encapsulating the original Registration Reply in a +   SKIP packet destined to the firewall (i.e. we assume secure channel +   configuration number 4). + +7.2.1. On the Inside (Private) Network + +   The packet from the home agent to the mobile node via the SKIP +   Firewall has the same format as shown above. The relevant fields are: + +   REGISTRATION REPLY: BETWEEN THE HOME AGENT AND THE FIREWALL +   +---------------+----------+----+-----+--------------+------------+ +   | IP Hdr (SKIP) | SKIP Hdr | AH | ESP | Inner IP Hdr | Reg. Reply | +   +---------------+----------+----+-----+--------------+------------+ + +     IP Hdr (SKIP): +        Source          home agent's address +        Destination     firewall's private (inside) address + +     SKIP Hdr: +        Source          NSID = 0 +                        Master Key-ID = none +        Destination     NSID = 0 +                        Master Key-ID = none +     Inner IP Hdr: +        Source          home agent's address +        Destination     mobile node's care-of address + +7.2.2. On the Outside (Public) Network + +   The SKIP Firewall recovers the original Registration Reply packet and +   looks at the destination address: the mobile node's care-of address. + +   The SKIP Firewall's dynamic packet filtering used the initial +   Registration Request (Secton 7.1) to establish a dynamic mapping +   between the care-of address and the mobile node's Master Key-ID. +   Hence, before forwarding the Registration Reply, it encrypts it using +   the mobile node's public component. + +   This dynamic binding capability and the use of tunneling mode ESP +   obviate the need to extend the Mobile IP protocol with a "relay +   Registration Request". However, it requires that the Registration +   Reply exit the private network through the same firewall that +   forwarded the corresponding Registration Request. + +   Instead of obtaining the mobile node's permanent address from the +   dynamic binding, a Mobile IP aware firewall could also obtain it from +   the Registration Reply itself. This renders the firewall stateless, +   and lets Registration Requests and Replies traverse the periphery of + + + +Montenegro & Gupta           Informational                     [Page 15] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +   the private network through different firewalls. + +   REGISTRATION REPLY: BETWEEN THE FIREWALL AND THE MOBILE NODE +   +---------------+----------+----+-----+--------------+------------+ +   | IP Hdr (SKIP) | SKIP Hdr | AH | ESP | Inner IP Hdr | Reg. Reply | +   +---------------+----------+----+-----+--------------+------------+ + +     IP Hdr (SKIP): +        Source          firewall's public (outside) address +        Destination     mobile node's care-of address + +     SKIP Hdr: +        Source          NSID = 0 +                        Master Key-ID = none +        Destination     NSID = 1 +                        Master Key-ID = IPv4 addr of the mobile node +     Inner IP Hdr: +        Source          home agent's address +        Destination     mobile node's care-of address + +7.3. Traversal Extension + +   The Traversal Extension MAY be included by mobile nodes in +   Registration Requests, and by home agents in Registration Replies. +   As per Section 3.6.1.3 of [1], the Traversal Extension must appear +   before the Mobile-Home Authentication Extension.  A Traversal +   Extension is an explicit notification that there are one or more +   traversal points (firewalls, fireridges, etc) between the mobile node +   and its home agent. Negotiating access past these systems may imply a +   new authentication header, and possibly a new encapsulating header +   (perhaps as part of tunnel-mode ESP) whose IP destination address is +   the traversal address. + +   Negotiating access past traversal points does not necessarily require +   cryptographic techniques.  For example, systems at the boundary +   between separate IP address spaces must be explicitly targetted +   (perhaps using unencrypted IP in IP encapsulation). + +   A mobile node SHOULD include one Traversal Extension per traversal +   point in its Registration Requests. If present, their order MUST +   exactly match the order in which packets encounter them as they flow +   from the mobile node towards the home agent. + +   Notice that there may be additional firewalls along the way, but the +   list of traversal points SHOULD only include those systems with which +   an explicit negotiation is required. + + + + + +Montenegro & Gupta           Informational                     [Page 16] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +   Similarly, the home agent SHOULD include one Traversal Extension per +   traversal point in its Registration Replies.  If present, their order +   MUST exactly match the order in which packets encounter them as they +   flow from the home agent to the mobile node. + +   A Traversal Extension does not include any indication about how +   access is negotiated. Presumably, this information is obtained +   through separate means. This document does not attempt to solve the +   firewall discovery problem, that is, it does not specify how to +   discover the list of traversal points. + +   As per section 1.9 of [1], the fact that the type value falls within +   the range 128 to 255 implies that if a home agent or a mobile node +   encounter a Traversal Extension in a Registration Request or Reply, +   they may silently ignore it. This is consistent with the fact that +   the Traversal Extension is essentially a hint. + +    0                   1                   2                   3 +    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +   |     Type      |    Length     |        Reserved               | +   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +   |                 MN to HA Traversal Address                    | +   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +   |                 HA to MN Traversal Address                    | +   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +      Type + +        129 + +      Length + +         10 + +      Reserved + +         0 + +      MN to HA Traversal Address + +         The IP address of the an intermediate system or firewall +         encountered by datagrams sent by the mobile node towards the +         home agent. Typically, this is the external address of a +         firewall or firewall complex. + + + + + + +Montenegro & Gupta           Informational                     [Page 17] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +         This field MUST be initialized in Registration Requests.  In +         Registration Replies, it is typically all 0's, otherwise, the +         mobile node SHOULD interpret it as a hint. + +      HA to MN Traversal Address + +         The IP address of an intermediate system or firewall +         encountered by datagrams sent by the home agent towards the +         mobile node. Typically, this is the internal address of a +         firewall or firewall complex. + +         This field MUST be initialized in Registration Replies.  In +         Registration Requests, it is typically all 0's, otherwise, the +         home agent SHOULD interpret it as a hint. + +8. Data Transfer + +   Data transfer proceeds along lines similar to the Registration +   Request outlined above.  Section 8.1 discusses data traffic sent by a +   mobile node to a correspondent node. Section 8.2 shows packet formats +   for the reverse traffic being tunneled by the home agent to the +   mobile node. + +8.1. Data Packet From the Mobile Node to a Correspondent Node + +   The mobile node composes a packet destined to a correspondent node +   located within the private network. + +   The Mobile IP function in the mobile node examines the Inner IP +   header, and determines that it satisfies conditions "a" and "b1" from +   Section 7.1. The mobile node requests the proper encryption and +   encapsulation services from SKIP. + +   Thus, the mobile node with a co-located address sends encrypted +   traffic to the firewall, using the following format: + +   DATA PACKET: FROM THE MOBILE NODE VIA THE FIREWALL +   +---------------+----------+----+-----+--------------+------+ +   | IP Hdr (SKIP) | SKIP Hdr | AH | ESP | Inner IP Hdr | ULP  | +   +---------------+----------+----+-----+--------------+------+ + +     IP Hdr (SKIP): +        Source          mobile node's care-of address +        Destination     public (outside) address on the firewall + + + + + + + +Montenegro & Gupta           Informational                     [Page 18] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +     SKIP Hdr: +        Source          NSID = 1 +                        Master Key-ID = IPv4 address of the mobile node +        Destination     NSID = 0 +                        Master Key-ID = none +     Inner IP Hdr: +        Source          mobile node's home address +        Destination     correspondent node's address + +   The SKIP Firewall intercepts this packet, decrypts the Inner IP Hdr +   and upper-layer payload (ULP) and checks the destination address. +   Since the packet is destined to a correspondent node in the private +   network, the "Inner" IP datagram is delivered internally.  Once the +   SKIP firewall injects this packet into the private network, it is +   routed independently of its source address. + +   As this last assumption is not always true, the mobile node may +   construct a bi-directional tunnel with its home agent. Doing so, +   guarantees that the "Inner IP Hdr" is: + +     Inner IP Hdr: +        Source          care-of address +        Destination     home agent address + +   When at home, communication between the the mobile node and certain +   external correspondent nodes may need to go through application- +   specific firewalls or proxies, different from the SKIP firewall. +   While on the public network, the mobile node's communication with +   these hosts, MUST use a bi-directional tunnel. + +8.2. Data Packet From a Correspondent Node to the Mobile Node + +   The home agent intercepts a packet from a correspondent node to the +   mobile node. It encapsulates it such that the Mobile IP encapsulating +   IP header's source and destination addresses are the home agent and +   care-of addresses, respectively. This would suffice for delivery +   within the private network. Since the current care-of address of the +   mobile node is not within the private network, this packet MUST be +   sent via the firewall. The home agent can accomplish this by +   encapsulating the datagram in a SKIP packet destined to the firewall +   (i.e. we assume secure channel configuration number 4). + + + + + + + + + + +Montenegro & Gupta           Informational                     [Page 19] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +8.2.1 Within the Inside (Private) Network + +   From the home agent to the private (inside) address of the firewall +   the packet format is: + +   DATA PACKET: BETWEEN THE HOME AGENT AND THE FIREWALL +   +--------+------+----+-----+--------+--------+-----+ +   | IP Hdr | SKIP | AH | ESP | mobip  | Inner  | ULP | +   | (SKIP) | Hdr  |    |     | IP Hdr | IP Hdr |     | +   +--------+------+----+-----+--------+--------+-----+ + +     IP Hdr (SKIP): +        Source          home agent's address +        Destination     private (inside) address on the firewall + +     SKIP Hdr: +        Source          NSID = 0 +                        Master Key-ID = none +        Destination     NSID = 0 +                        Master Key-ID = none + +     Mobile-IP IP Hdr: +        Source          home agent's address +        Destination     care-of address + +     Inner IP Hdr: +        Source          correspondent node's address +        Destination     mobile node's address + +     ULP:               upper-layer payload + +   The packet format above does not require the firewall to have a +   dynamic binding. The association between the mobile node's permanent +   address and it care-of address can be deduced from the contents of +   the "Mobile-IP IP Hdr" and the "Inner IP Hdr". + +   Nevertheless, a nomadic binding is an assurance that currently the +   mobile node is, in fact, at the care-of address. + + + + + + + + + + + + + +Montenegro & Gupta           Informational                     [Page 20] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +8.2.2. On the Outside (Public) Network + +   The SKIP firewall intercepts the packet, and recovers the Mobile IP +   encapsulated datagram. Before sending it out, the dynamic packet +   filter configured by the original Registration Request triggers +   encryption of this packet, this time by the SKIP firewall for +   consumption by the mobile node.  The resultant packet is: + +   DATA PACKET: BETWEEN THE FIREWALL AND THE MOBILE NODE +   +--------+------+----+-----+--------+--------+-----+ +   | IP Hdr | SKIP | AH | ESP | mobip  | Inner  | ULP | +   | (SKIP) | Hdr  |    |     | IP Hdr | IP Hdr |     | +   +--------+------+----+-----+--------+--------+-----+ + +     IP Hdr (SKIP): +        Source          firewall's public (outside) address +        Destination     mobile node's care-of address + +     SKIP Hdr: +        Source          NSID = 0 +                        Master Key-ID = none +        Destination     NSID = 1 +                        Master Key-ID = IPv4 address of the mobile node + +     Mobile-IP IP Hdr: +        Source          home agent's address +        Destination     care-of address + +     Inner IP Hdr: +        Source          correspondent node's address +        Destination     mobile node's address + +     ULP:               upper-layer payload + +   At the mobile node, SKIP processes the packets sent by the firewall. +   Eventually, the inner IP header and the upper-layer packet (ULP) are +   retrieved and passed on. + +9. Security Considerations + +   The topic of this document is security. Nevertheless, it is +   imperative to point out the perils involved in allowing a flow of IP +   packets through a firewall. In essence, the mobile host itself MUST +   also take on responsibility for securing the private network, because +   it extends its periphery. This does not mean it stops exchanging +   unencrypted IP packets with hosts on the public network.  For +   example, it MAY have to do so in order to satisfy billing +   requirements imposed by the foreign site, or to renew its DHCP lease. + + + +Montenegro & Gupta           Informational                     [Page 21] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +   In the latter case it might filter not only on IP source address, but +   also on protocol and port numbers. + +   Therefore, it MUST have some firewall capabilities, otherwise, any +   malicious individual that gains access to it will have gained access +   to the private network as well. + +Acknowledgements + +   Ideas in this document have benefited from discussions with at least +   the following people: Bill Danielson, Martin Patterson, Tom Markson, +   Rich Skrenta, Atsushi Shimbo, Behfar Razavi, Avinash Agrawal, Tsutomu +   Shimomura and Don Hoffman. Jim Solomon has also provided many helpful +   comments on this document. + +References + +   [1] Perkins, C., "IP Mobility Support", RFC 2002, October 1996. + +   [2] Perkins, C., "IP Encapsulation within IP", RFC 2003, October +       1996. + +   [3] A. Aziz and M. Patterson, Design and Implementation of SKIP, +       available on-line at http://skip.incog.com/inet-95.ps. A +       previous version of the paper was presented at INET '95 under +       the title Simple Key Management for Internet Protocols (SKIP), +       and appears in the conference proceedings under that title. + +   [4] Leech, M., Ganis, M., Lee, Y, Kuris, R., Koblas, D., and +       L. Jones, "SOCKS Protocol Version 5", RFC 1928, March 1996. + +   [5] Leech, M., "Username/Password Authentication for SOCKS V5", +       RFC 1929, March 1996. + +   [6] Atkinson, R., "IP Encapsulating Payload", RFC 1827, August +       1995. + +   [7] Atkinson, R., "IP Authentication Header", RFC 1826, August +       1995. + +   [8] Stephen Kent, message to the IETF's IPSEC mailing list, +       Message-Id: <v02130500ae569a3e904e@[128.89.30.29]>, September +       6, 1996. + +   [9] Tom Markson, private communication, June 12, 1996. + + + + + + +Montenegro & Gupta           Informational                     [Page 22] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +   [10] A. Aziz, T. Markson, H. Prafullchandra. Encoding of an +        Unsigned Diffie-Hellman Public Value. Available on-line as +        http://skip.incog.com/spec/EUDH.html. + +Authors' Addresses + +   Gabriel E. Montenegro +   Sun Microsystems, Inc. +   901 San Antonio Road +   Mailstop UMPK 15-214 +   Mountain View, California 94303 + +   Phone: (415)786-6288 +   Fax: (415)786-6445 +   EMail: gabriel.montenegro@Eng.Sun.COM + + +   Vipul Gupta +   Sun Microsystems, Inc. +   901 San Antonio Road +   Mailstop UMPK 15-214 +   Mountain View, California 94303 + +   Phone: (415)786-3614 +   Fax: (415)786-6445 +   EMail: vipul.gupta@Eng.Sun.COM + + + + + + + + + + + + + + + + + + + + + + + + + +Montenegro & Gupta           Informational                     [Page 23] + +RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998 + + +Full Copyright Statement + +   Copyright (C) The Internet Society (1998).  All Rights Reserved. + +   This document and translations of it may be copied and furnished to +   others, and derivative works that comment on or otherwise explain it +   or assist in its implementation may be prepared, copied, published +   and distributed, in whole or in part, without restriction of any +   kind, provided that the above copyright notice and this paragraph are +   included on all such copies and derivative works.  However, this +   document itself may not be modified in any way, such as by removing +   the copyright notice or references to the Internet Society or other +   Internet organizations, except as needed for the purpose of +   developing Internet standards in which case the procedures for +   copyrights defined in the Internet Standards process must be +   followed, or as required to translate it into languages other than +   English. + +   The limited permissions granted above are perpetual and will not be +   revoked by the Internet Society or its successors or assigns. + +   This document and the information contained herein is provided on an +   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +   TASK FORCE DISCLAIMS 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. + + + + + + + + + + + + + + + + + + + + + + + +Montenegro & Gupta           Informational                     [Page 24] +  |