home *** CD-ROM | disk | FTP | other *** search
/ Internet Core Protocols / Oreilly-InternetCoreProtocols.iso / RFCs / rfc2356.txt < prev    next >
Encoding:
Text File  |  1999-10-14  |  53.3 KB  |  1,347 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                      G. Montenegro
  8. Request for Comments: 2356                                      V. Gupta
  9. Category: Informational                           Sun Microsystems, Inc.
  10.                                                                June 1998
  11.  
  12.  
  13.               Sun's SKIP Firewall Traversal for Mobile IP
  14.  
  15. Status of This Memo
  16.  
  17.    This memo provides information for the Internet community.  This memo
  18.    does not specify an Internet standard of any kind.  Distribution of
  19.    this memo is unlimited.
  20.  
  21. Copyright Notice
  22.  
  23.    Copyright (C) The Internet Society (1998).  All Rights Reserved.
  24.  
  25. Abstract
  26.  
  27.    The Mobile IP specification establishes the mechanisms that enable a
  28.    mobile host to maintain and use the same IP address as it changes its
  29.    point of attachment to the network. Mobility implies higher security
  30.    risks than static operation, because the traffic may at times take
  31.    unforeseen network paths with unknown or unpredictable security
  32.    characteristics. The Mobile IP specification makes no provisions for
  33.    securing data traffic.  The mechanisms described in this document
  34.    allow a mobile node out on a public sector of the internet to
  35.    negotiate access past a SKIP firewall, and construct a secure channel
  36.    into its home network.
  37.  
  38.    In addition to securing traffic, our mechanisms allow a mobile node
  39.    to roam into regions that (1) impose ingress filtering, and (2) use a
  40.    different address space.
  41.  
  42. Table of Contents
  43.  
  44.    1. Introduction ...............................................    2
  45.    2. Mobility without a Firewall ................................    4
  46.    3. Restrictions imposed by a Firewall .........................    4
  47.    4. Two Firewall Options: Application relay and IP Security ....    5
  48.    4.1 SOCKS version 5 [4] .......................................    5
  49.    4.2 SKIP [3] ..................................................    6
  50.    5. Agents and Mobile Node Configurations ......................    8
  51.    6. Supporting Mobile IP: Secure Channel Configurations ........    9
  52.    6.1 I: Encryption only Outside of Private Network .............    9
  53.    6.2 II: End-to-End Encryption .................................   10
  54.    6.3 III: End-to-End Encryption, Intermediate Authentication ...   10
  55.  
  56.  
  57.  
  58. Montenegro & Gupta           Informational                      [Page 1]
  59.  
  60. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  61.  
  62.  
  63.    6.4 IV: Encryption Inside and Outside .........................   10
  64.    6.5 Choosing a Secure Channel Configuration ...................   11
  65.    7. Mobile IP Registration Procedure with a SKIP Firewall ......   11
  66.    7.1. Registration Request through the Firewall ................   12
  67.    7.1.1. On the Outside (Public) Network ........................   13
  68.    7.1.2. On the Inside (Private) Network ........................   14
  69.    7.2. Registration Reply through the Firewall ..................   14
  70.    7.2.1. On the Inside (Private) Network ........................   15
  71.    7.2.2. On the Outside (Public) Network ........................   15
  72.    7.3. Traversal Extension ......................................   16
  73.    8. Data Transfer ..............................................   18
  74.    8.1. Data Packet From the Mobile Node to a Correspondent Node .   18
  75.    8.2. Data Packet From a Correspondent Node to the Mobile Node .   19
  76.    8.2.1 Within the Inside (Private) Network .....................   20
  77.    8.2.2. On the Outside (Public) Network ........................   21
  78.    9. Security Considerations ....................................   21
  79.    Acknowledgements ..............................................   22
  80.    References ....................................................   22
  81.    Authors' Addresses ............................................   23
  82.    Full Copyright Statement ......................................   24
  83.  
  84. 1. Introduction
  85.  
  86.    This document specifies what support is required at the firewall, the
  87.    Mobile IP [1] home agent and the Mobile IP mobile node to enable the
  88.    latter to access a private network from the Internet.  For example, a
  89.    company employee could attach his/her laptop to some Internet access
  90.    point by:
  91.  
  92.       a)   Dialing into a PPP/SLIP account on an Internet service
  93.            provider's network.
  94.  
  95.       b)   Connecting into a 10Base-T or similar LAN network available
  96.            at, for example, an IETF terminal room, a local university,
  97.            or another company's premises.
  98.  
  99.    Notice that in these examples, the mobile node's relevant interface
  100.    (PPP or 10Base-T) is configured with an IP address different from
  101.    that which it uses "normally" (i.e. at the office). Furthermore, the
  102.    IP address used is not necessarily a fixed assignment. It may be
  103.    assigned temporarily and dynamically at the beginning of the session
  104.    (e.g. by IPCP in the PPP case, or DHCP in the 10Base-T case).
  105.  
  106.    The following discussion assumes a network configuration consisting
  107.    of a private network separated by a firewall from the general
  108.    Internet or public network.  The systems involved are:
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Montenegro & Gupta           Informational                      [Page 2]
  115.  
  116. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  117.  
  118.  
  119.       Private Network
  120.  
  121.            A protected network separated from the Internet by hosts
  122.            enforcing access restrictions (firewalls). A private network
  123.            may use a private address space, and its addresses may not
  124.            even be routable by the general internet.
  125.  
  126.       Public Network
  127.  
  128.           The Internet at large. Hosts are able to communicate with each
  129.           other throughout the public network without firewall-imposed
  130.           restrictions.
  131.  
  132.       Mobile Node (MN)
  133.  
  134.           Its permanent address falls within the range of the private
  135.           network. The user removes the system from its home network,
  136.           and connects it to the Internet at another point.  The
  137.           mechanisms outlined in this discussion render this mobility
  138.           transparent:  the mobile node continues accessing its home
  139.           network and its resources exactly as if it were still within
  140.           it.  Notice that when the mobile node leaves its home
  141.           network, it may migrate both within and outside of the
  142.           private network's boundaries. As defined by Mobile IP [1], a
  143.           mobile node uses a care-of address while roaming.
  144.  
  145.       Home Agent (HA) for the mobile node
  146.  
  147.          Serves as a location registry and router as described in the
  148.          Mobile IP IETF draft.
  149.  
  150.       Foreign Agent (FA)
  151.  
  152.          Serves as a registration relayer and care of address for the
  153.          mobile node as described in the Mobile IP IETF draft.
  154.  
  155.       Correspondent Node (CH)
  156.  
  157.          A system that is exchanging data packets with the mobile
  158.          node.
  159.  
  160.       Firewall (FW)
  161.  
  162.          The system (or collection of systems) that enforces access
  163.          control between the private network and the general Internet.
  164.          It may do so by a combination of functions such as application
  165.          gatewaying, packet filtering and cryptographic techniques.
  166.  
  167.  
  168.  
  169.  
  170. Montenegro & Gupta           Informational                      [Page 3]
  171.  
  172. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  173.  
  174.  
  175.    The mechanisms described in this document allow a mobile node out on
  176.    a public sector of the network to negotiate access past a SKIP
  177.    firewall, and construct a secure channel into its home network.  This
  178.    enables it to communicate with correspondent nodes that belong to the
  179.    private network, and, if bi-directional tunnels are used, with
  180.    external hosts that are reachable when the mobile node is at home.
  181.    The mobile node enjoys the same level of connectivity and privacy as
  182.    it does when it is in its home network.
  183.  
  184.    This document does not address the scenario in which the mobile node
  185.    attempts to access its private network, while within another private
  186.    network.
  187.  
  188.    Sections 2 and 3 provide an overview of the environment being
  189.    considered and the restrictions it imposes.  Section 4 examines
  190.    firewall technologies. Section 5 discusses the best mode of operation
  191.    of the participating entities from the point of view of Mobile IP.
  192.    Section 6 discusses possible configuration for the secure channel.
  193.    Finally, packet formats are the topic of sections 7 and 8.
  194.  
  195. 2. Mobility without a Firewall
  196.  
  197.    Suppose the mobile node is roaming throughout the general Internet,
  198.    but its home network is not protected by a firewall. This is
  199.    typically found in academic environment as opposed to corporate
  200.     networks.
  201.  
  202.    This works as prescribed by Mobile IP [1]. The only proviso is that
  203.    the mobile node would most probably operate with a co-located address
  204.    instead of using a separate foreign agent's care-of address.  This is
  205.    because, at least in the near term, it is far more likely to be able
  206.    to secure a temporary care-of-address than it is to find a foreign
  207.    agent already deployed at the site you are visiting. For example:
  208.  
  209.    -   Internet Service Provider: pre-assigns customers IP addresses,
  210.        or assigns them out dynamically via PPP's address negotiation.
  211.  
  212.    -   An IETF terminal room may pre-assign addresses for your use or
  213.        offer DHCP services.
  214.  
  215.    -   Other locations probably would offer DHCP services.
  216.  
  217. 3. Restrictions imposed by a Firewall
  218.  
  219.    The firewall imposes restrictions on packets entering or leaving the
  220.    private network. Packets are not allowed through unless they conform
  221.    to a filtering specification, or unless there is a negotiation
  222.    involving some sort of authentication.
  223.  
  224.  
  225.  
  226. Montenegro & Gupta           Informational                      [Page 4]
  227.  
  228. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  229.  
  230.  
  231.    Another restriction is imposed by the separation between private
  232.    addresses and general Internet addresses. Strictly speaking, this is
  233.    not imposed by a firewall, but by the characteristics of the private
  234.    network. For example, if a packet destined to an internal address
  235.    originates in the general Internet, it will probably not be
  236.    delivered.  It is not that the firewall drops it. Rather, the
  237.    Internet's routing fabric is unable to process it. This elicits an
  238.    ICMP host unreachable packet sent back to the originating node.
  239.  
  240.    Because of this, the firewall MUST be explicitly targeted as the
  241.    destination node by outside packets seeking to enter the private
  242.    network. The routing fabric in the general Internet will only see the
  243.    public address of the firewall and route accordingly.  Once the
  244.    packet arrives at the firewall, the real packet destined to a private
  245.    address is recovered.
  246.  
  247. 4. Two Firewall Options: Application relay and IP Security
  248.  
  249.    Before delving into any details, lets examine two technologies which
  250.    may provide firewall support for mobile nodes:
  251.  
  252.    -   application relaying or proxying, or
  253.  
  254.    -   IP Security.
  255.  
  256.    To understand the implications, let's examine two specific schemes to
  257.    accomplish the above: SOCKS version 5 and SKIP.
  258.  
  259. 4.1 SOCKS version 5 [4]
  260.  
  261.    There is an effort within the authenticated firewall traversal WG
  262.    (aft) of the IETF to provide a common interface for application
  263.    relays.
  264.  
  265.    The solution being proposed is a revised specification of the SOCKS
  266.    protocol. Version 5 has been extended to include UDP services as
  267.    well.  The SOCKS solution requires that the mobile node -- or another
  268.    node on its behalf -- establish a TCP session to exchange UDP traffic
  269.    with the FW. It also has to use the SOCKS library to encapsulate the
  270.    traffic meant for the FW. The steps required by a SOCKS solution are:
  271.  
  272.    -   TCP connection established to port 1080 (1.5 round trips)
  273.  
  274.    -   version identifier/method selection negotiation (1 round trip)
  275.  
  276.        -   method-dependent negotiation. For example, the
  277.            Username/Password Authentication [5] requires 1 round trip:
  278.  
  279.  
  280.  
  281.  
  282. Montenegro & Gupta           Informational                      [Page 5]
  283.  
  284. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  285.  
  286.  
  287.            1. client sends a Username/Password request
  288.            2. FW (server) responds
  289.  
  290.            The GSS-API negotiation requires at least 3 round trips:
  291.  
  292.            1. client context establishment (at least 1 round trip)
  293.            2. client initial token/server reply (1 round trip)
  294.            3. message protection subnegotiation (at least 1 round trip)
  295.  
  296.    -   (finally) SOCKS request/reply (1 round trip)
  297.  
  298.    This is a minimum of 4 (6 with GSS-API) round-trips before the client
  299.    is able to pass data through the FW using the following header:
  300.  
  301.       +----+------+------+----------+----------+----------+
  302.       |RSV | FRAG | ATYP | DST.ADDR | DST.PORT |   DATA   |
  303.       +----+------+------+----------+----------+----------+
  304.       | 2  |  1   |  1   | Variable |    2     | Variable |
  305.       +----+------+------+----------+----------+----------+
  306.  
  307.    Bear in mind that the above must be done each time the mobile
  308.    registers a new care-of address. In addition to this inefficiency,
  309.    this scheme requires that we use UDP to encapsulate IP datagrams.
  310.    There is at least one commercial network that does this, but it is
  311.    not the best solution.
  312.  
  313.    Furthermore, SOCKS defines how to establish authenticated
  314.    connections, but currently it does not provide a clear solution to
  315.    the problem of encrypting the traffic.
  316.  
  317.    This header contains the relay information needed by all parties
  318.    involved to reach those not directly reachable.
  319.  
  320. 4.2 SKIP [3]
  321.  
  322.    Alternatively, traffic from the mobile node to the firewall could be
  323.    encrypted and authenticated using a session-less IP security
  324.    mechanism like SKIP. This obviates the need to set up a session just
  325.    to exchange UDP traffic with the firewall.
  326.  
  327.    A solution based on SKIP is very attractive in this scenario, as no
  328.    round trip times are incurred before the mobile node and the firewall
  329.    achieve mutual trust: the firewall can start relaying packets for the
  330.    mobile node as soon as it receives the first one.  This, of course,
  331.    implies that SKIP is being used with AH [7] so that authentication
  332.    information is contained in each packet.  Encryption by using ESP [6]
  333.    is also assumed in this scenario, since the Internet at large is
  334.    considered a hostile environment.  An ESP transform that provides
  335.  
  336.  
  337.  
  338. Montenegro & Gupta           Informational                      [Page 6]
  339.  
  340. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  341.  
  342.  
  343.    both authentication and encryption could be used, in which case the
  344.    AH header need not be included.
  345.  
  346.    The firewall and the mobile node may be previously configured with
  347.    each other's authenticated Diffie-Hellman public components (also
  348.    known as public values).  Alternatively, they could exchange them in
  349.    real-time using any of the mechanisms defined by the SKIP protocol
  350.    (on-line certificate directory service or certificate discovery
  351.    protocol). Home agents and the firewall also MUST have, be able to
  352.    exchange or obtain each other's public components.
  353.  
  354.    There are other proposals besides SKIP to achieve IP layer security.
  355.    However, they are session-oriented key management solutions, and
  356.    typically imply negotiations spanning several round-trip times before
  357.    cryptographically secure communications are possible.  In this
  358.    respect they raise similar concerns to those outlined previously in
  359.    the discussion on SOCKS-based solutions.  Others have arrived at
  360.    similar conclusions regarding the importance of session-less key
  361.    management for Mobile IP applications [8].
  362.  
  363.    Another advantage of SKIP is its support for nomadic applications.
  364.    Typically, two hosts communicating via a secure IP layer channel use
  365.    the IP source and destination addresses on incoming packets to arrive
  366.    at the appropriate security association. The SKIP header can easily
  367.    supersede this default mechanism by including the key ID the
  368.    recipient must use to obtain the right certificate.
  369.  
  370.    The key id is specified by two fields in the SKIP header:
  371.  
  372.       1) a name space identifier (NSID) to indicate which of the
  373.          possible name spaces is being used, and,
  374.  
  375.       2) a master key identifier (MKID) that uniquely indicates (within
  376.          the given name space) an id to use in fetching the proper
  377.          certificate.
  378.  
  379.    As an example, by setting NSID to 1 and MKID to its home address, a
  380.    mobile node tells a receiver "ignore the IP source and use my home
  381.    address instead to look up my public component". Similarly, setting
  382.    NSID to 8 enables using Unsigned Diffie-Hellman (UDH) certificates.
  383.  
  384.    In this case, the MKID is set to the MD5 hash of the DH public
  385.    component [10].
  386.  
  387.    In addition to the NSID/MKID feature, Mobile IP is best supported by
  388.    an appropriate policy at the SKIP firewall in the form of a "nomadic"
  389.    access control list entry. This is an entry which is filtered by key
  390.    ID, instead of by IP source address, as is the usual case. It
  391.  
  392.  
  393.  
  394. Montenegro & Gupta           Informational                      [Page 7]
  395.  
  396. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  397.  
  398.  
  399.    translates to "allow access from any IP source address for a given
  400.    NSID/MKID combination".  Furthermore, incoming packets MUST have an
  401.    AH header, so that after properly authenticating them, the firewall
  402.    establishes a "current address" or "dynamic binding" for the nomadic
  403.    host.  The NSID/MKID combination determines which key should be used
  404.    with the nomadic host [9].
  405.  
  406.    Notice that this supports Mobile IP, because the mobile node always
  407.    initiates contact. Hence, the SKIP firewall has a chance to learn the
  408.    mobile node's "current address" from an incoming packet before it
  409.    attempts to encrypt an outgoing packet.
  410.  
  411.    However, this precludes the use of simultaneous bindings by a mobile
  412.    node.  At the firewall, the last Registration Request sent by the
  413.    mobile node replaces the association between its permanent address
  414.    and any prior care-of address. In order to support simultaneous
  415.    bindings the firewall must be able to interpret Mobile IP
  416.    registration messages.
  417.  
  418.    Section 7.2.2 discusses another advantage of making the firewall
  419.    understand Mobile IP packet formats.
  420.  
  421.    In what follows we assume a SKIP-based solution.
  422.  
  423. 5. Agents and Mobile Node Configurations
  424.  
  425.    Depending on which address it uses as its tunnel endpoint, the Mobile
  426.    IP protocol specifies two ways in which a mobile node can register a
  427.    mobility binding with its home agent.
  428.  
  429.       a)   an address advertised for that purpose by the foreign agent
  430.  
  431.       b)   an address belonging to one of the mobile node's interfaces
  432.            (i.e. operation with a co-located address).
  433.  
  434.    From the firewall's point of view, the main difference between these
  435.    two cases hinges on which node prepares the outermost encrypting
  436.    encapsulation.  The firewall MUST be able to obtain the Diffie-
  437.    Hellman public component of the node that creates the outermost SKIP
  438.    header in an incoming packet. This is only possible to guarantee in
  439.    case "b", because the mobile node and the firewall both belong to the
  440.    same administrative domain. The problem is even more apparent when
  441.    the mobile node attempts a Registration Request.  Here, the foreign
  442.    agent is not just a relayer, it actually examines the packet sent by
  443.    the mobile node, and modifies its agent services accordingly. In
  444.    short, assuming the current specification of Mobile IP and the
  445.    current lack of trust in the internet at large, only case "b" is
  446.    possible. Case "a" would require an extension (e.g. a "relay"
  447.  
  448.  
  449.  
  450. Montenegro & Gupta           Informational                      [Page 8]
  451.  
  452. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  453.  
  454.  
  455.    Registration Request), and modifying code at the home agent, the
  456.    firewall and the foreign agent.
  457.  
  458.    Assuming that the firewall offers a secure relay service (i.e.
  459.    decapsulation and forwarding of packets), the mobile node can reach
  460.    addresses internal to the private network by encapsulating the
  461.    packets in a SKIP header and directing them to the firewall.
  462.  
  463.    Therefore, It is simplest to assume that the mobile node operates
  464.    with a co-located address.
  465.  
  466. 6. Supporting Mobile IP: Secure Channel Configurations
  467.  
  468.    The mobile node participates in two different types of traffic:
  469.    Mobile IP registration protocol and data. For the sake of simplicity,
  470.    the following discussion evaluates different secure channel
  471.    configurations by examining the initial Registration Request sent by
  472.    the mobile node to its home agent.
  473.  
  474.    Assuming the mobile node operates with a co-located address, it can
  475.    communicate directly with the firewall.  The latter is able to reach
  476.    the home agent in the private network. Also, the firewall MUST be
  477.    able to authenticate the mobile node.
  478.  
  479.    The following channel configurations assume the mobile node operates
  480.    with a co-located address. The region between the HA (home agent) and
  481.    the FW (firewall) is a private network. The region between the FW and
  482.    the MN (mobile node) is the outside or public network.
  483.  
  484. 6.1 I: Encryption only Outside of Private Network
  485.  
  486.  
  487.    HA            FW                        MN
  488.                   <=====================>  SKIP (AH + ESP)
  489.     <----------------------------------->  Registration Request path
  490.  
  491.    The traffic is only encrypted between the mobile node out on the
  492.    general Internet, and the firewall's external interface. This is
  493.    minimum required. It is the most desirable configuration as the more
  494.    expensive encrypted channel is only used where it is necessary: on
  495.    the public network.
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Montenegro & Gupta           Informational                      [Page 9]
  507.  
  508. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  509.  
  510.  
  511. 6.2 II: End-to-End Encryption
  512.  
  513.    Another possible configuration extends the encrypted tunnel through
  514.    the firewall:
  515.  
  516.    HA            FW                        MN
  517.     <===================================>  SKIP (AH + ESP)
  518.     <----------------------------------->  Registration Request path
  519.  
  520.    This limits the firewall to perform a simple packet relay or
  521.    gatewaying function. Even though this could be accomplished by using
  522.    the proper destination NSID in the packet, in practice it is probably
  523.    unrealizable. The reason is that this alternative is probably not
  524.    very popular with computer security personnel, because authentication
  525.    is not carried out by the firewall but by the home agent, and the
  526.    latter's security is potentially much weaker than the former's.
  527.  
  528. 6.3 III: End-to-End Encryption, Intermediate Authentication
  529.  
  530.    A third alternative is to allow the firewall to be party to the
  531.    security association between the home agent and the mobile node.
  532.    After verifying authentication (AH header), the firewall forwards the
  533.    encrypted packet (ESP hdr) to the home agent.
  534.  
  535.    HA            FW                        MN
  536.                   <+++++++++++++++++++++>  SKIP authentication
  537.     <===================================>  SKIP encryption
  538.     <----------------------------------->  Registration Request path
  539.  
  540.    Here, SKIP is used to provide intermediate authentication with end-
  541.    to-end security. Although possible, this option implies that the
  542.    participating entities disclose their pairwise long-term Diffie-
  543.    Hellman shared secret to the intermediate node.
  544.  
  545.    Whereas Option 2 above is probably not agreeable to security and
  546.    system administration personnel, option 3 is unsavory to the end
  547.    user.
  548.  
  549. 6.4 IV: Encryption Inside and Outside
  550.  
  551.    HA            FW                        MN
  552.     <============><=====================>  SKIP (AH + ESP)
  553.     <----------------------------------->  Registration Request path
  554.  
  555.    Traffic is encrypted on the public as well as on the private network.
  556.    On the public network, encryption is dictated by a security
  557.    association between the mobile node and the firewall.  On the private
  558.    network, it is dictated by a security association between the home
  559.  
  560.  
  561.  
  562. Montenegro & Gupta           Informational                     [Page 10]
  563.  
  564. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  565.  
  566.  
  567.    agent and the firewall.
  568.  
  569. 6.5 Choosing a Secure Channel Configuration
  570.  
  571.    A potential problem in both options 2 and 3 is that their end-to-end
  572.    channel components assume that the mobile node and the home agent can
  573.    exchange IP traffic directly with each other. This is generally not
  574.    the case, as the Internet routing fabric may not have routes to
  575.    addresses that belong to private networks, and the private routing
  576.    fabric may ignore how to route to public addresses -- or doing so may
  577.    be administratively restricted.  Therefore, it is necessary for
  578.    packets to be addressed directly to the firewall, and indirectly --
  579.    via some tunneling or relaying capability -- to the real destination
  580.    on the other side of the firewall.
  581.  
  582.    Options 1 and 4 are essentially equivalent. The latter may be
  583.    considered overkill, because it uses encryption even within the
  584.    private network, and this is generally not necessary. What is
  585.    necessary even within the private network is for the home agent to
  586.    add an encapsulation (not necessarily encrypted) so as to direct
  587.    datagrams to the mobile node via the firewall. The type of
  588.    encapsulation used determines the difference between options 1 and 4.
  589.    Whereas option 4 uses SKIP, option 1 uses a cleartext encapsulation
  590.    mechanism.  This is obtainable by, for example, using IP in IP
  591.    encapsulation [2].
  592.  
  593.    Options 1 and 4 are mostly interchangeable. The difference is, of
  594.    course, that the former does not protect the data from eavesdroppers
  595.    within the private network itself. This may be unacceptable in
  596.    certain cases. Traffic from some departments in a company (for
  597.    example payroll or legal) may need to be encrypted as it traverses
  598.    other sections of the company.
  599.  
  600.    In the interest of being conservative, in what follows we assume
  601.    option 4 (i.e. traffic is encrypted on the general Internet, as well
  602.    as within the private network.
  603.  
  604.    Since the firewall is party to the security associations governing
  605.    encryption on both the public and private networks, it is always able
  606.    to inspect the traffic being exchanged by the home agent and the
  607.    mobile node. If this is of any concern, the home agent and mobile
  608.    node could set up a bi-directional tunnel and encrypt it.
  609.  
  610. 7. Mobile IP Registration Procedure with a SKIP Firewall
  611.  
  612.    When roaming within a private network, a mobile node sends
  613.    Registration Requests directly to its home agent. On the public
  614.    Internet, it MUST encapsulate the original Registration Request in a
  615.  
  616.  
  617.  
  618. Montenegro & Gupta           Informational                     [Page 11]
  619.  
  620. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  621.  
  622.  
  623.    SKIP packet destined to the firewall.  The mobile node MUST
  624.    distinguish between "inside" and "outside" addresses. This could be
  625.    accomplished by a set of rules defining the address ranges.
  626.    Nevertheless, actual installations may present serious difficulties
  627.    in defining exactly what is a private address and what is not.
  628.  
  629.    Direct human input is a very effective method: it may be obvious to
  630.    the user that the current point of attachment is outside its private
  631.    network, and it should be possible to communicate this knowledge to
  632.    the mobile node software.
  633.  
  634.    The home agent must also distinguish between "inside" and "outside"
  635.    addresses, but lacks the potential benefit of direct user input.
  636.    Accordingly, it should be possible for the mobile node to communicate
  637.    that knowledge to the home agent. To accomplish this we define a
  638.    Traversal Extension to the Registration Requests and Replies.  This
  639.    extension is also useful when traversing multiple firewalls.
  640.  
  641.    In spite of the above mechanisms, errors in judgement are to be
  642.    expected.  Accordingly, the firewall SHOULD be configured such that
  643.    it will still perform its relaying duties even if they are
  644.    unnecessarily required by a mobile node with an inside care-of
  645.    address.
  646.  
  647.    Upon arriving at a foreign net and acquiring a care-of address, the
  648.    mobile node must first -- before any data transfer is possible --
  649.    initiate a registration procedure. This consists of an authenticated
  650.    exchange by which the mobile node informs its home agent of its
  651.    current whereabouts (i.e. its current care-of address), and receives
  652.    an acknowledgement. This first step of the protocol is very
  653.    convenient, because the SKIP firewall can use it to dynamically
  654.    configure its packet filter.
  655.  
  656.    The remainder of this section shows the packet formats used.  Section
  657.    7.1 discusses how a mobile node sends a Registration Request to its
  658.    home agent via the SKIP firewall. Section 7.2 discusses how the home
  659.    agent send the corresponding Registration Reply to the mobile node.
  660.    Section 7.3 defines the Traversal Extension for use with Registration
  661.    Requests and Replies.
  662.  
  663. 7.1. Registration Request through the Firewall
  664.  
  665.    The mobile node arrives at a foreign net, and using mechanisms
  666.    defined by Mobile IP, discovers it has moved away from home. It
  667.    acquires a local address at the foreign site, and composes a
  668.    Registration Request meant for its home agent.  The mobile node must
  669.    decide whether this packet needs to be processed by SKIP or not.
  670.  
  671.  
  672.  
  673.  
  674. Montenegro & Gupta           Informational                     [Page 12]
  675.  
  676. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  677.  
  678.  
  679.    This is not a simple rule triggered by a given destination address.
  680.    It must be applied whenever the following conditions are met:
  681.  
  682.       a)   the mobile node is using a care-of address that does not
  683.            belong to the private network (i.e. the mobile node is
  684.            currently "outside" its private network), and
  685.  
  686.       b)   either of:
  687.  
  688.            b1)   the source address of the packet is the mobile node's
  689.                  home address (e.g. this packet's endpoints are
  690.                  dictated by a connection initiated while at home), or
  691.  
  692.            b2)   the source address of the packet is the care-of
  693.                  address and the destination address belongs to the
  694.                  private network
  695.  
  696.    Since the above conditions are mobility related, it is best for the
  697.    Mobile IP function in the node to evaluate them, and then request the
  698.    appropriate security services from SKIP.
  699.  
  700. 7.1.1. On the Outside (Public) Network
  701.  
  702.    The SKIP module must use the firewall destination address and the
  703.    firewall's certificate in order to address and encrypt the packet.
  704.    It encrypts it using SKIP combined with the ESP [6] protocol and
  705.    possibly the AH [7] protocol.
  706.  
  707.    The SKIP header's source NSID equals 1, indicating that the Master
  708.    Key-ID is the mobile node's home address. Notice that the IP packet's
  709.    source address corresponds to the care-of address -- an address whose
  710.    corresponding public component is unknown to the firewall.
  711.  
  712.    It is also possible to use Unsigned Diffie-Hellman public components
  713.    [10].  Doing so greatly reduces SKIP's infrastructure requirements,
  714.    because there is no need for a Certificate Authority. Of course, for
  715.    this to be possible the principals' names MUST be securely
  716.    communicated.
  717.  
  718.    REGISTRATION REQUEST: BETWEEN THE MOBILE NODE AND THE FIREWALL
  719.    +---------------+----------+----+-----+--------------+--------------+
  720.    | IP Hdr (SKIP) | SKIP Hdr | AH | ESP | Inner IP Hdr | Reg. Request |
  721.    +---------------+----------+----+-----+--------------+--------------+
  722.  
  723.      IP Hdr (SKIP):
  724.         Source          mobile node's care-of address
  725.         Destination     firewall's public (outside) address
  726.  
  727.  
  728.  
  729.  
  730. Montenegro & Gupta           Informational                     [Page 13]
  731.  
  732. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  733.  
  734.  
  735.      SKIP Hdr:
  736.         Source          NSID = 1
  737.                         Master Key-ID = IPv4 address of the mobile node
  738.         Destination     NSID = 0
  739.                         Master Key-ID = none
  740.      Inner IP Hdr:
  741.         Source          mobile node's care-of address
  742.         Destination     home agent's address
  743.  
  744. 7.1.2. On the Inside (Private) Network
  745.  
  746.    The SKIP Firewall's dynamic packet filtering uses this information to
  747.    establish a dynamic binding between the care-of address and the
  748.    mobile node's permanent home address.
  749.  
  750.    The destination NSID field in the above packet is zero, prompting the
  751.    firewall to process the SKIP header and recover the internal packet.
  752.    It then delivers the original packet to another outbound interface,
  753.    because it is addressed to the home agent (an address within the
  754.    private network). Assuming secure channel configuration number 4, the
  755.    firewall encrypts the packet using SKIP before forwarding to the home
  756.    agent.
  757.  
  758.    REGISTRATION REQUEST: BETWEEN THE FIREWALL AND THE HOME AGENT
  759.    +---------------+----------+----+-----+--------------+--------------+
  760.    | IP Hdr (SKIP) | SKIP Hdr | AH | ESP | Inner IP Hdr | Reg. Request |
  761.    +---------------+----------+----+-----+--------------+--------------+
  762.  
  763.      IP Hdr (SKIP):
  764.         Source          firewall's private (inside) address
  765.         Destination     home agent's address
  766.  
  767.      SKIP Hdr:
  768.         Source          NSID = 0
  769.                         Master Key-ID = none
  770.         Destination     NSID = 0
  771.                         Master Key-ID = none
  772.      Inner IP Hdr:
  773.         Source          mobile node's care-of address
  774.         Destination     home agent's address
  775.  
  776. 7.2. Registration Reply through the Firewall
  777.  
  778.    The home agent processes the Registration Request, and composes a
  779.    Registration Reply. Before responding, it examines the care-of
  780.    address reported by the mobile node, and determines whether or not it
  781.    corresponds to an outside address.  If so, the home agent needs to
  782.    send all traffic back through the firewall.  The home agent can
  783.  
  784.  
  785.  
  786. Montenegro & Gupta           Informational                     [Page 14]
  787.  
  788. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  789.  
  790.  
  791.    accomplish this by encapsulating the original Registration Reply in a
  792.    SKIP packet destined to the firewall (i.e. we assume secure channel
  793.    configuration number 4).
  794.  
  795. 7.2.1. On the Inside (Private) Network
  796.  
  797.    The packet from the home agent to the mobile node via the SKIP
  798.    Firewall has the same format as shown above. The relevant fields are:
  799.  
  800.    REGISTRATION REPLY: BETWEEN THE HOME AGENT AND THE FIREWALL
  801.    +---------------+----------+----+-----+--------------+------------+
  802.    | IP Hdr (SKIP) | SKIP Hdr | AH | ESP | Inner IP Hdr | Reg. Reply |
  803.    +---------------+----------+----+-----+--------------+------------+
  804.  
  805.      IP Hdr (SKIP):
  806.         Source          home agent's address
  807.         Destination     firewall's private (inside) address
  808.  
  809.      SKIP Hdr:
  810.         Source          NSID = 0
  811.                         Master Key-ID = none
  812.         Destination     NSID = 0
  813.                         Master Key-ID = none
  814.      Inner IP Hdr:
  815.         Source          home agent's address
  816.         Destination     mobile node's care-of address
  817.  
  818. 7.2.2. On the Outside (Public) Network
  819.  
  820.    The SKIP Firewall recovers the original Registration Reply packet and
  821.    looks at the destination address: the mobile node's care-of address.
  822.  
  823.    The SKIP Firewall's dynamic packet filtering used the initial
  824.    Registration Request (Secton 7.1) to establish a dynamic mapping
  825.    between the care-of address and the mobile node's Master Key-ID.
  826.    Hence, before forwarding the Registration Reply, it encrypts it using
  827.    the mobile node's public component.
  828.  
  829.    This dynamic binding capability and the use of tunneling mode ESP
  830.    obviate the need to extend the Mobile IP protocol with a "relay
  831.    Registration Request". However, it requires that the Registration
  832.    Reply exit the private network through the same firewall that
  833.    forwarded the corresponding Registration Request.
  834.  
  835.    Instead of obtaining the mobile node's permanent address from the
  836.    dynamic binding, a Mobile IP aware firewall could also obtain it from
  837.    the Registration Reply itself. This renders the firewall stateless,
  838.    and lets Registration Requests and Replies traverse the periphery of
  839.  
  840.  
  841.  
  842. Montenegro & Gupta           Informational                     [Page 15]
  843.  
  844. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  845.  
  846.  
  847.    the private network through different firewalls.
  848.  
  849.    REGISTRATION REPLY: BETWEEN THE FIREWALL AND THE MOBILE NODE
  850.    +---------------+----------+----+-----+--------------+------------+
  851.    | IP Hdr (SKIP) | SKIP Hdr | AH | ESP | Inner IP Hdr | Reg. Reply |
  852.    +---------------+----------+----+-----+--------------+------------+
  853.  
  854.      IP Hdr (SKIP):
  855.         Source          firewall's public (outside) address
  856.         Destination     mobile node's care-of address
  857.  
  858.      SKIP Hdr:
  859.         Source          NSID = 0
  860.                         Master Key-ID = none
  861.         Destination     NSID = 1
  862.                         Master Key-ID = IPv4 addr of the mobile node
  863.      Inner IP Hdr:
  864.         Source          home agent's address
  865.         Destination     mobile node's care-of address
  866.  
  867. 7.3. Traversal Extension
  868.  
  869.    The Traversal Extension MAY be included by mobile nodes in
  870.    Registration Requests, and by home agents in Registration Replies.
  871.    As per Section 3.6.1.3 of [1], the Traversal Extension must appear
  872.    before the Mobile-Home Authentication Extension.  A Traversal
  873.    Extension is an explicit notification that there are one or more
  874.    traversal points (firewalls, fireridges, etc) between the mobile node
  875.    and its home agent. Negotiating access past these systems may imply a
  876.    new authentication header, and possibly a new encapsulating header
  877.    (perhaps as part of tunnel-mode ESP) whose IP destination address is
  878.    the traversal address.
  879.  
  880.    Negotiating access past traversal points does not necessarily require
  881.    cryptographic techniques.  For example, systems at the boundary
  882.    between separate IP address spaces must be explicitly targetted
  883.    (perhaps using unencrypted IP in IP encapsulation).
  884.  
  885.    A mobile node SHOULD include one Traversal Extension per traversal
  886.    point in its Registration Requests. If present, their order MUST
  887.    exactly match the order in which packets encounter them as they flow
  888.    from the mobile node towards the home agent.
  889.  
  890.    Notice that there may be additional firewalls along the way, but the
  891.    list of traversal points SHOULD only include those systems with which
  892.    an explicit negotiation is required.
  893.  
  894.  
  895.  
  896.  
  897.  
  898. Montenegro & Gupta           Informational                     [Page 16]
  899.  
  900. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  901.  
  902.  
  903.    Similarly, the home agent SHOULD include one Traversal Extension per
  904.    traversal point in its Registration Replies.  If present, their order
  905.    MUST exactly match the order in which packets encounter them as they
  906.    flow from the home agent to the mobile node.
  907.  
  908.    A Traversal Extension does not include any indication about how
  909.    access is negotiated. Presumably, this information is obtained
  910.    through separate means. This document does not attempt to solve the
  911.    firewall discovery problem, that is, it does not specify how to
  912.    discover the list of traversal points.
  913.  
  914.    As per section 1.9 of [1], the fact that the type value falls within
  915.    the range 128 to 255 implies that if a home agent or a mobile node
  916.    encounter a Traversal Extension in a Registration Request or Reply,
  917.    they may silently ignore it. This is consistent with the fact that
  918.    the Traversal Extension is essentially a hint.
  919.  
  920.     0                   1                   2                   3
  921.     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
  922.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  923.    |     Type      |    Length     |        Reserved               |
  924.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  925.    |                 MN to HA Traversal Address                    |
  926.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  927.    |                 HA to MN Traversal Address                    |
  928.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  929.  
  930.       Type
  931.  
  932.         129
  933.  
  934.       Length
  935.  
  936.          10
  937.  
  938.       Reserved
  939.  
  940.          0
  941.  
  942.       MN to HA Traversal Address
  943.  
  944.          The IP address of the an intermediate system or firewall
  945.          encountered by datagrams sent by the mobile node towards the
  946.          home agent. Typically, this is the external address of a
  947.          firewall or firewall complex.
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954. Montenegro & Gupta           Informational                     [Page 17]
  955.  
  956. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  957.  
  958.  
  959.          This field MUST be initialized in Registration Requests.  In
  960.          Registration Replies, it is typically all 0's, otherwise, the
  961.          mobile node SHOULD interpret it as a hint.
  962.  
  963.       HA to MN Traversal Address
  964.  
  965.          The IP address of an intermediate system or firewall
  966.          encountered by datagrams sent by the home agent towards the
  967.          mobile node. Typically, this is the internal address of a
  968.          firewall or firewall complex.
  969.  
  970.          This field MUST be initialized in Registration Replies.  In
  971.          Registration Requests, it is typically all 0's, otherwise, the
  972.          home agent SHOULD interpret it as a hint.
  973.  
  974. 8. Data Transfer
  975.  
  976.    Data transfer proceeds along lines similar to the Registration
  977.    Request outlined above.  Section 8.1 discusses data traffic sent by a
  978.    mobile node to a correspondent node. Section 8.2 shows packet formats
  979.    for the reverse traffic being tunneled by the home agent to the
  980.    mobile node.
  981.  
  982. 8.1. Data Packet From the Mobile Node to a Correspondent Node
  983.  
  984.    The mobile node composes a packet destined to a correspondent node
  985.    located within the private network.
  986.  
  987.    The Mobile IP function in the mobile node examines the Inner IP
  988.    header, and determines that it satisfies conditions "a" and "b1" from
  989.    Section 7.1. The mobile node requests the proper encryption and
  990.    encapsulation services from SKIP.
  991.  
  992.    Thus, the mobile node with a co-located address sends encrypted
  993.    traffic to the firewall, using the following format:
  994.  
  995.    DATA PACKET: FROM THE MOBILE NODE VIA THE FIREWALL
  996.    +---------------+----------+----+-----+--------------+------+
  997.    | IP Hdr (SKIP) | SKIP Hdr | AH | ESP | Inner IP Hdr | ULP  |
  998.    +---------------+----------+----+-----+--------------+------+
  999.  
  1000.      IP Hdr (SKIP):
  1001.         Source          mobile node's care-of address
  1002.         Destination     public (outside) address on the firewall
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Montenegro & Gupta           Informational                     [Page 18]
  1011.  
  1012. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  1013.  
  1014.  
  1015.      SKIP Hdr:
  1016.         Source          NSID = 1
  1017.                         Master Key-ID = IPv4 address of the mobile node
  1018.         Destination     NSID = 0
  1019.                         Master Key-ID = none
  1020.      Inner IP Hdr:
  1021.         Source          mobile node's home address
  1022.         Destination     correspondent node's address
  1023.  
  1024.    The SKIP Firewall intercepts this packet, decrypts the Inner IP Hdr
  1025.    and upper-layer payload (ULP) and checks the destination address.
  1026.    Since the packet is destined to a correspondent node in the private
  1027.    network, the "Inner" IP datagram is delivered internally.  Once the
  1028.    SKIP firewall injects this packet into the private network, it is
  1029.    routed independently of its source address.
  1030.  
  1031.    As this last assumption is not always true, the mobile node may
  1032.    construct a bi-directional tunnel with its home agent. Doing so,
  1033.    guarantees that the "Inner IP Hdr" is:
  1034.  
  1035.      Inner IP Hdr:
  1036.         Source          care-of address
  1037.         Destination     home agent address
  1038.  
  1039.    When at home, communication between the the mobile node and certain
  1040.    external correspondent nodes may need to go through application-
  1041.    specific firewalls or proxies, different from the SKIP firewall.
  1042.    While on the public network, the mobile node's communication with
  1043.    these hosts, MUST use a bi-directional tunnel.
  1044.  
  1045. 8.2. Data Packet From a Correspondent Node to the Mobile Node
  1046.  
  1047.    The home agent intercepts a packet from a correspondent node to the
  1048.    mobile node. It encapsulates it such that the Mobile IP encapsulating
  1049.    IP header's source and destination addresses are the home agent and
  1050.    care-of addresses, respectively. This would suffice for delivery
  1051.    within the private network. Since the current care-of address of the
  1052.    mobile node is not within the private network, this packet MUST be
  1053.    sent via the firewall. The home agent can accomplish this by
  1054.    encapsulating the datagram in a SKIP packet destined to the firewall
  1055.    (i.e. we assume secure channel configuration number 4).
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Montenegro & Gupta           Informational                     [Page 19]
  1067.  
  1068. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  1069.  
  1070.  
  1071. 8.2.1 Within the Inside (Private) Network
  1072.  
  1073.    From the home agent to the private (inside) address of the firewall
  1074.    the packet format is:
  1075.  
  1076.    DATA PACKET: BETWEEN THE HOME AGENT AND THE FIREWALL
  1077.    +--------+------+----+-----+--------+--------+-----+
  1078.    | IP Hdr | SKIP | AH | ESP | mobip  | Inner  | ULP |
  1079.    | (SKIP) | Hdr  |    |     | IP Hdr | IP Hdr |     |
  1080.    +--------+------+----+-----+--------+--------+-----+
  1081.  
  1082.      IP Hdr (SKIP):
  1083.         Source          home agent's address
  1084.         Destination     private (inside) address on the firewall
  1085.  
  1086.      SKIP Hdr:
  1087.         Source          NSID = 0
  1088.                         Master Key-ID = none
  1089.         Destination     NSID = 0
  1090.                         Master Key-ID = none
  1091.  
  1092.      Mobile-IP IP Hdr:
  1093.         Source          home agent's address
  1094.         Destination     care-of address
  1095.  
  1096.      Inner IP Hdr:
  1097.         Source          correspondent node's address
  1098.         Destination     mobile node's address
  1099.  
  1100.      ULP:               upper-layer payload
  1101.  
  1102.    The packet format above does not require the firewall to have a
  1103.    dynamic binding. The association between the mobile node's permanent
  1104.    address and it care-of address can be deduced from the contents of
  1105.    the "Mobile-IP IP Hdr" and the "Inner IP Hdr".
  1106.  
  1107.    Nevertheless, a nomadic binding is an assurance that currently the
  1108.    mobile node is, in fact, at the care-of address.
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122. Montenegro & Gupta           Informational                     [Page 20]
  1123.  
  1124. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  1125.  
  1126.  
  1127. 8.2.2. On the Outside (Public) Network
  1128.  
  1129.    The SKIP firewall intercepts the packet, and recovers the Mobile IP
  1130.    encapsulated datagram. Before sending it out, the dynamic packet
  1131.    filter configured by the original Registration Request triggers
  1132.    encryption of this packet, this time by the SKIP firewall for
  1133.    consumption by the mobile node.  The resultant packet is:
  1134.  
  1135.    DATA PACKET: BETWEEN THE FIREWALL AND THE MOBILE NODE
  1136.    +--------+------+----+-----+--------+--------+-----+
  1137.    | IP Hdr | SKIP | AH | ESP | mobip  | Inner  | ULP |
  1138.    | (SKIP) | Hdr  |    |     | IP Hdr | IP Hdr |     |
  1139.    +--------+------+----+-----+--------+--------+-----+
  1140.  
  1141.      IP Hdr (SKIP):
  1142.         Source          firewall's public (outside) address
  1143.         Destination     mobile node's care-of address
  1144.  
  1145.      SKIP Hdr:
  1146.         Source          NSID = 0
  1147.                         Master Key-ID = none
  1148.         Destination     NSID = 1
  1149.                         Master Key-ID = IPv4 address of the mobile node
  1150.  
  1151.      Mobile-IP IP Hdr:
  1152.         Source          home agent's address
  1153.         Destination     care-of address
  1154.  
  1155.      Inner IP Hdr:
  1156.         Source          correspondent node's address
  1157.         Destination     mobile node's address
  1158.  
  1159.      ULP:               upper-layer payload
  1160.  
  1161.    At the mobile node, SKIP processes the packets sent by the firewall.
  1162.    Eventually, the inner IP header and the upper-layer packet (ULP) are
  1163.    retrieved and passed on.
  1164.  
  1165. 9. Security Considerations
  1166.  
  1167.    The topic of this document is security. Nevertheless, it is
  1168.    imperative to point out the perils involved in allowing a flow of IP
  1169.    packets through a firewall. In essence, the mobile host itself MUST
  1170.    also take on responsibility for securing the private network, because
  1171.    it extends its periphery. This does not mean it stops exchanging
  1172.    unencrypted IP packets with hosts on the public network.  For
  1173.    example, it MAY have to do so in order to satisfy billing
  1174.    requirements imposed by the foreign site, or to renew its DHCP lease.
  1175.  
  1176.  
  1177.  
  1178. Montenegro & Gupta           Informational                     [Page 21]
  1179.  
  1180. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  1181.  
  1182.  
  1183.    In the latter case it might filter not only on IP source address, but
  1184.    also on protocol and port numbers.
  1185.  
  1186.    Therefore, it MUST have some firewall capabilities, otherwise, any
  1187.    malicious individual that gains access to it will have gained access
  1188.    to the private network as well.
  1189.  
  1190. Acknowledgements
  1191.  
  1192.    Ideas in this document have benefited from discussions with at least
  1193.    the following people: Bill Danielson, Martin Patterson, Tom Markson,
  1194.    Rich Skrenta, Atsushi Shimbo, Behfar Razavi, Avinash Agrawal, Tsutomu
  1195.    Shimomura and Don Hoffman. Jim Solomon has also provided many helpful
  1196.    comments on this document.
  1197.  
  1198. References
  1199.  
  1200.    [1] Perkins, C., "IP Mobility Support", RFC 2002, October 1996.
  1201.  
  1202.    [2] Perkins, C., "IP Encapsulation within IP", RFC 2003, October
  1203.        1996.
  1204.  
  1205.    [3] A. Aziz and M. Patterson, Design and Implementation of SKIP,
  1206.        available on-line at http://skip.incog.com/inet-95.ps. A
  1207.        previous version of the paper was presented at INET '95 under
  1208.        the title Simple Key Management for Internet Protocols (SKIP),
  1209.        and appears in the conference proceedings under that title.
  1210.  
  1211.    [4] Leech, M., Ganis, M., Lee, Y, Kuris, R., Koblas, D., and
  1212.        L. Jones, "SOCKS Protocol Version 5", RFC 1928, March 1996.
  1213.  
  1214.    [5] Leech, M., "Username/Password Authentication for SOCKS V5",
  1215.        RFC 1929, March 1996.
  1216.  
  1217.    [6] Atkinson, R., "IP Encapsulating Payload", RFC 1827, August
  1218.        1995.
  1219.  
  1220.    [7] Atkinson, R., "IP Authentication Header", RFC 1826, August
  1221.        1995.
  1222.  
  1223.    [8] Stephen Kent, message to the IETF's IPSEC mailing list,
  1224.        Message-Id: <v02130500ae569a3e904e@[128.89.30.29]>, September
  1225.        6, 1996.
  1226.  
  1227.    [9] Tom Markson, private communication, June 12, 1996.
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234. Montenegro & Gupta           Informational                     [Page 22]
  1235.  
  1236. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  1237.  
  1238.  
  1239.    [10] A. Aziz, T. Markson, H. Prafullchandra. Encoding of an
  1240.         Unsigned Diffie-Hellman Public Value. Available on-line as
  1241.         http://skip.incog.com/spec/EUDH.html.
  1242.  
  1243. Authors' Addresses
  1244.  
  1245.    Gabriel E. Montenegro
  1246.    Sun Microsystems, Inc.
  1247.    901 San Antonio Road
  1248.    Mailstop UMPK 15-214
  1249.    Mountain View, California 94303
  1250.  
  1251.    Phone: (415)786-6288
  1252.    Fax: (415)786-6445
  1253.    EMail: gabriel.montenegro@Eng.Sun.COM
  1254.  
  1255.  
  1256.    Vipul Gupta
  1257.    Sun Microsystems, Inc.
  1258.    901 San Antonio Road
  1259.    Mailstop UMPK 15-214
  1260.    Mountain View, California 94303
  1261.  
  1262.    Phone: (415)786-3614
  1263.    Fax: (415)786-6445
  1264.    EMail: vipul.gupta@Eng.Sun.COM
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290. Montenegro & Gupta           Informational                     [Page 23]
  1291.  
  1292. RFC 2356      Sun's SKIP Firewall Traversal for Mobile IP      June 1998
  1293.  
  1294.  
  1295. Full Copyright Statement
  1296.  
  1297.    Copyright (C) The Internet Society (1998).  All Rights Reserved.
  1298.  
  1299.    This document and translations of it may be copied and furnished to
  1300.    others, and derivative works that comment on or otherwise explain it
  1301.    or assist in its implementation may be prepared, copied, published
  1302.    and distributed, in whole or in part, without restriction of any
  1303.    kind, provided that the above copyright notice and this paragraph are
  1304.    included on all such copies and derivative works.  However, this
  1305.    document itself may not be modified in any way, such as by removing
  1306.    the copyright notice or references to the Internet Society or other
  1307.    Internet organizations, except as needed for the purpose of
  1308.    developing Internet standards in which case the procedures for
  1309.    copyrights defined in the Internet Standards process must be
  1310.    followed, or as required to translate it into languages other than
  1311.    English.
  1312.  
  1313.    The limited permissions granted above are perpetual and will not be
  1314.    revoked by the Internet Society or its successors or assigns.
  1315.  
  1316.    This document and the information contained herein is provided on an
  1317.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  1318.    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  1319.    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  1320.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  1321.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345. Montenegro & Gupta           Informational                     [Page 24]
  1346.  
  1347.