Internet Engineering Task Force                      Claude Castelluccia
INTERNET-DRAFT                                             INRIA, France
                                                          Francis Dupont
                                                   ENST Bretagne, France

Expires in August 2001                                    February, 2001


               A Simple Privacy Extension for Mobile IPv6
              <draft-castelluccia-mobileip-privacy-00.txt>



Status of this Memo


   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC3036.  Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups.  Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at:
   http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft
   Shadow Directories can be accessed at:
   http://www.ietf.org/shadow.html.



Abstract


   This draft presents a simple privacy extensions for Mobile IPv6 [4]
   that prevents eavesdroppers from identifying the packets sent or
   received from a particular mobile node. This extension also allows
   a mobile node to hide its identity from correspondent nodes when
   the mobile node initiates the communication.



1. Introduction


   In Mobile IPv6 [4], the home address of a mobile node is included in
   the packets that it sends and receives.

C. Castelluccia                                                 [Page 1]


Internet Draft        Privacy Extension for MIPv6        February,  2001


   As a result any node in the network can identify packets that
   belong to a particular mobile node (and use them to perform some
   kind of traffic analysis) and track its movements (i.e. its care-of
   address) and usage. We propose a solution to prevent such tracking
   while still using route optimisation.

   In particular our proposal solves the two following problems:

   - Privacy of mobile client from its correspondent node and from any
   eavesdroppers in the network: the mobile node connects to a remote
   node (a server for example) and wants to hide it identity, i.e.
   its home address, from this node and from any eavesdropper in the
   network while still being able to move.

   - Privacy of mobile server from eavesdroppers: The remote node
   initiates the communication and the mobile node is able to hide
   its identity (and therefore its locations) from any eavesdropper
   in the network (but not from the remote node).

   We do not solve the problem of privacy of a mobile server from
   its correspondent nodes. In this case a mobile node still needs
   to reveal its care-of address to its correspondent nodes to ensure
   optimal routing. If this level of privacy is desired, one possible
   solution is bi-directional tunneling via the home agent.
   Full privacy is then provided at the cost of routing
   performance. It should be noted that HMIPv6 [5] in revealing the
   Regional care-of address (RCoA) instead of the care-of address
   might be an other alternative.

   In this draft we only look at privacy issues in Mobile IPv6 and
   assume that a mobile node's identity is not revealed by other
   protocols such as AAA, IKE,...and by the applications (i.e.
   applications must not use any IP address in their payloads.)

2. Mobile IPv6 Review

   In Mobile IPv6, the home address of a mobile node is included in
   cleartext in the packets it sends and receives. In fact, packets
   sent by a mobile node includes a home address option that contains
   its home address.  Packets sent by a correspondent node to a given
   mobile node contains a routing header that includes the mobile
   home address. As a result, any eavesdropper within the network can
   easily identify packets that belong to a particular mobile node
   (and use them to perform some kind of traffic analysis) and track
   mobile movements and usage.



C. Castelluccia                                                 [Page 2]


Internet Draft        Privacy Extension for MIPv6        February,  2001

  Home Address Option

   The home address destination option is used in a packet sent by a
   mobile node while away from home, to inform the recipient of that
   packet of the mobile node's home address. For packets sent by a
   mobile node while away from home, the mobile node generally uses
   one of its care-of addresses as the source address in the packet's
   IPv6 header. By including a home address option in the packet, the
   correspondent node receiving the packet is able to substitute the
   mobile node's home address for this care-of address when processing
   the packet, thus making the use of the care-of address transparent
   to the correspondent node.

   The home address option MUST be placed as follows:
      - After the routing header, if that header is present
      - Before the fragment header, if that header is present
      - Before the AH Header or ESP Header, if either one of those
      headers is present

  Routing header

   Before sending any packet, the sending node should examine its
   binding cache for an entry for the destination address to which
   the packet is being sent. If the sending node has a binding cache
   entry for this address, the sending node should use a routing header
   to route the packet to this mobile node (the destination node) by
   way of the care-of address in the binding recorded in that binding
   cache entry. The destination address in the packet's IPv6 header
   is set to the mobile node's care-of address copied from the binding
   cache entry.

 3. Possible solutions

   Several solutions are possible, all with their limitations:

   - IPv6 Privacy Extension: A solution could be to used the privacy
   extension described in [1] to configure the home address and
   the care-of addresses. While this solution represents a marked
   improvement over the standard address configuration methods [2],
   and should be used for the home and care-of addresses, we contend
   that this is not sufficient.  [1] causes nodes to generate
   global-scope addresses from interface identifiers that change over
   time, even in cases where the interface contains an embedded IEEE
   identifier. As a result if [1] is used to generate the home address,
   this address will change periodically but the network prefix (64
   highest bits) will remain unchanged. This network perfix can still
   reveal much information about the mobile node's identity to an
   eavesdropper. This mechanism described in [1] must be used for the
   home address and care-of address in Mobile IPv6 but one should not
   rely on it to get full privacy protection.


C. Castelluccia                                                 [Page 3]


Internet Draft        Privacy Extension for MIPv6        February,  2001


   - HA option encryption: An other solution could be to encrypt the
   home address option. This solution is not satisfactory because
   (1) it would require to modify IPsec implementation (SA should then
   be indexed with the care-of address and therefore would need to be
   updated at each movement of the mobile node) and (2) it would make
   the usage of firewalls difficult (currently firewalls look at the
   home address option to perform some filtering). Futhermore this
   solution does not solve the problem of incoming packets that
   contain a routing header which reveals the home address.

   - IPsec bi-directional Tunnel (mobile VPN): A solution could be to
   open a bi-directional IPsec tunnel between the mobile node and its
   home agent [3]. This solution has the following disadvantages: (1)
   addition of extra bandwidth (packets need to be encapsulated) and
   processing overhead, (2) the routing is suboptimal.

4. Our Proposal

   In our scheme a mobile node uses the privacy extension described in
   [1] to configure its home address and care-of addresses.  A mobile
   node must use an interface identifier for its home address that is
   different from the one used for its care-of addresses.  It should
   also use a new interface identifier when configuring a new care-of
   address. As a result, it would be more difficult for an eaversdropper
   to identify a mobile node's identity and track its movement.

   We also propose to assign to each mobile node a TMI (Temporary
   Mobile Identifier) that is a 128-bit long random number.  This TMI
   is used by the mobile node's home agent and correspondent nodes to
   identify the mobile node. This TMI might be used by the correspondent
   node to index the IPsec SA correspondent to the mobile and might be
   used by firewalls to do filtering.


 4.1 Protocol description

   Two cases must be considered:

  - Mobile Client  (The mobile node initiates the communication):

   The mobile then uses standard Mobile IPv6 with the TMI as its Home
   address. Packets sent and received by a mobile node will contain
   its TMI instead of its home agent. As a result, the mobile identity
   is hidden from the correspondent node and from potential
   eavesdroppers in the network.

   Note that in this case the correspondent node must never use the
   home address, i.e. the TMI that is not routable, but must use the


C. Castelluccia                                                 [Page 4]


Internet Draft        Privacy Extension for MIPv6        February,  2001


   care-of address. Mobile IPv6 need to be modified to provide such
   functionality.

  - Mobile Server (the corrresponding node initiates the communication):

   In this case, the correspondent node knows the mobile identity by
   definition. If a mobile node wants to hide its mobility, i.e. its
   care-of address, to a particular correspondent node, it must not
   send any binding update to this correspondent node and use
   bi-directional tunneling. As a result the packets that are sent to
   the mobile node are addressed to its home address and encapsulated
   by the home agent to its current care-of address. The decision to
   send or not to send a binding update to a correspondent node is
   a policy issue that is out of the scope of this draft. Any eaves-
   droppers between the home agent and the mobile node is able to
   identify and track the mobile movement by looking at the inner
   packet. Therefore we suggest to encrypt the packets that are sent
   between the mobile node and its home agent.


   If the mobile node decides to use route optimization, it then
   sends a binding update to its correspondent node. This binding
   update contains the TMI in the home address option and the actual
   home address is encoded in a newly defined binding update
   sub-option. Of course to preserve privacy the binding update must
   be encrypted (the SA should be indexed with the TMI and not the
   home address). The correspondent node uses the binding update to
   bind the TMI with the Home Address and the care-of address.

   Subsequent packets between the mobile node and the correspondent
   node will contain the TMI in the home address option and in the
   routing header extension instead of the actual home address.
   As a result an eavesdropper won't be able to identify the packets
   belonging to a particular node.


 4.2 Temporary Mobile Identifier (TMI)

  4.2.1 TMI generation

   The TMI of a mobile node should be globally unique and must be
   locally unique. By locally unique we mean that two mobile nodes
   communicating with the same correspondent node/or home agent must
   use different TMI but two mobile nodes communicating with different
   correspondent nodes can use the same TMI. The consequences of two
   mobile nodes using the same TMI with the same correspondent node
   is similar than the consequences of two mobile nodes using the same
   home address with standard mobile IPv6. The correspondent node
   might get confused...


C. Castelluccia                                                 [Page 5]


Internet Draft        Privacy Extension for MIPv6        February,  2001


   We propose to use the MD5 message digest of the mobile node's home
   address as its TMI. The mobile node being globally unique, the TMI
   collision probability is therefore very small.  Furthermore the
   probably of two mobile nodes generating the same TMI and
   communicating with the same correspondent node is even smaller
   and negligible.

   MD5 was chosen because its particular properties were adequate to
   produce the desired level of randomness and uniqueness. IPv6 nodes
   are already required to implement MD5 as part of IPsec [6].


  4.2.2 TMI management

   The TMI of a mobile user must be changed periodically (every
   few minutes, hours or days) in order to avoid TMI leakage as
   explained in [1]...

   For example, the digest for the new TMI can be generated as follows:
   new digest = MD5 ( Home address | old digest), where "|" stands
   for concatenation.

   A dedicated Top-Level Aggregation identifier [7] should used and
   TMI allocated into this TLA (ie. an address in this TLA is known
   to be a TMI). This has some drawbacks and many advantages:

   - the first 16 bits are fixed (but 112 bits should be enough
     to keep the collision probability very close to zero).

   - a TMI is very easy to recognize by bad guys.

   + any mobile node can be automatically authorized to use
     any address in this TLA.

   + this TLA can be marked as unroutable, ie. a wrong packet to
     a TMI destination will be dropped by the first router, not
     the first default free router. In general misuses of TMI
     become very easy to detect.


5. Privacy with HMIPv6 (basic mode)

   With HMIPv6 basic mode [5], a mobile node may choose to hide its
   care-of address from its correspondent nodes and its home agent
   by using its Regional care-of address (RCoA) in the source field
   of the packets that it sends. The location tracking of a mobile
   node by its correspondent nodes or its home agent is therefore
   difficult.


C. Castelluccia                                                 [Page 6]


Internet Draft        Privacy Extension for MIPv6        February,  2001


   Note that in HMIPv6 basic mode, the Mobile Anchor Point (MAP)
   does not know the home address (i.e. the identity) of the mobile
   node. The MAP only knows the binding between the mobile's node
   regional care-of address and care-of address. One may argue that
   a MAP could snoop the mobile host's packets to discover its home
   address. This is true but however this is still an improvement
   over Mobile IPv6.

   When combining the privacy extension presented in this draft
   with HMIPv6 basic mode, a mobile node uses the privacy extension
   to register with its home agent, its correspondent nodes and the
   local MAP. We can achieve full privacy protection because the
   mobile node's identity is hidden from its correspondent nodes and
   the local MAP. Its care-of address is hidden from its home agent
   and correspondent nodes.  No node knows the mobile node's identity
   (home address) and its care- of address together. Furthermore the
   MAP can not find out the mobile node identity by snooping its
   packets (because the home address is not included in the packets
   anymore).  We argue that the combinaison of HMIPv6 with the privacy
   extension of this draft provides a level of privacy to a mobile
   node that is superior to that which a VPN provides (bi-directional
   tunnel between the mobile node and its home agent) but without
   the cost of aVPN.

   Indeed when using HMIPv6 with the proposed privacy extension, we can:
   - hide the location (care-of address) of a mobile node from its
     Home Agent (this is not provided by a VPN),
   - hide the location (care-of address) of a mobile node from its
     correspondent nodes (provided by a VPN),
   - hide the identity of a mobile node from its Correspondent nodes
     when the mobile is the client (not provided by a VPN),
   - prevent any eavesdropper in the network from identifying the
     packets that belong to a particular mobile and to track its location.


6. Security Considerations

   This document address some privacy issues in the mobile IPv6
   protocols.  Even if privacy does not provide real security (ie.
   security through obscurity is poor security) then it makes the job
   of bad guys (eavesdroppers, rogue correspondents, ...) harder so
   should improve the overall security.


7. Acknowledgments

   John Wells (INRIA), Karim El-Malki (Ericsson), Hesham Soliman
   (Ericsson), Jean-Michel Combes (France Telecom R&D), Gabriel
   Montenegro (SunLabs Europe), Imad Add (INRIA), Pars Mutaf (INRIA)...



C. Castelluccia                                                 [Page 7]


Internet Draft        Privacy Extension for MIPv6        February,  2001


8. References

   [1] T.Narten and R. Draves. "Privacy Extensions for Stateless
   Address Autoconfiguration in IPv6". RFC3041, January 2001.

   [2] S. Thomson and T. Narten, "IPv6 Address Autoconfiguration",
   RFC 2462, December 1998.

   [3] G. Montenegro, "Reverse Tunneling for Mobile IP, revised",
   RFC 3024, January 2001.

   [4] D. Johnson and C.Perkins, "Mobility Support in IPv6",
   draft-ietf-mobileip-ipv6-13.txt, November 2000.

   [5] H. Soliman, C. Castelluccia, K. El-Malki and L. Bellier,
   "Hierarchical MIPv6 mobility management",
   draft-ietf-mobileip-hmipv6-01.txt, September 2000.

   [6] Kent, S., Atkinson, R., "Security Architecture for the
   Internet Protocol", RFC 2401, November 1998.

   [7] Hinden R., O'Dell M., Deering S., "An IPv6 Aggregatable
   Global Unicast Address Format", RFC 2374, July 1998..

Authors' Addresses

   Claude Castelluccia
   INRIA Rhone-Alpes
   655 avenue de l'Europe
   38330 Montbonnot Saint-Martin
   FRANCE
   email: claude.castelluccia@inria.fr
   phone: +33 4 76 61 52 15
   fax:   +33 4 76 61 52 52

   Francis Dupont
   ENST Bretagne
   Campus de Rennes
   2, rue de la Chataigneraie
   BP 78
   35512 Cesson-Sevigne Cedex
   FRANCE
   Fax: +33 2 99 12 70 30
   EMail: Francis.Dupont@enst-bretagne.fr




C. Castelluccia                                                 [Page 8]