Internet Engineering Task Force                            G. Montenegro
INTERNET DRAFT                                           C. Castelluccia
                                                           July 20, 2001
                     SUCV Identifiers and Addresses
                      draft-montenegro-sucv-01.txt

Status of This Memo

   This document is an Internet-Draft and is in full conformance
   with all provisions of Section 10 of RFC 2026.

   Comments should be submitted to the HIP and Mobile IP mailing lists
   at hipsec@mail.freeswan.org and mobile-ip@sunroof.eng.sun.com,
   respectively.

   Distribution of this memo is unlimited.

   This document is an Internet-Draft.  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 document addresses the identifier ownership problem.  It
   does so by using characteristics of Statistic Uniqueness and
   Cryptographic Verifiability (SUCV) of certain entities which
   this document calls SUCV Identifiers (SUCV ID's).  This note
   also proposes using these SUCV characteristics in related
   entities called SUCV Addresses in order to severely limit
   certain classes of denial of service attacks and hijacking
   attacks. SUCV addresses are particularly applicable to solve the
   'address ownership' problem that severely undermines confidence
   in mechanisms like Binding Updates in Mobile IP for IPv6.





Expires January 20, 2001                                        [Page 1]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


Table of Contents

1.0 Introduction ..................................................    3
2.0 Related Issues ................................................    3
   2.1 Address Ownership ..........................................    3
   2.2 Purpose Built Keys [PBK] ...................................    4
3.0 Overview of the Proposal ......................................    4
4.0 Statistical Uniqueness and Cryptographic Verifiability
(SUCV) ............................................................    5
   4.1 SUCV ID's ..................................................    6
   4.2 SUCV ID's versus Addresses .................................    7
   4.3 SUCV Addresses .............................................    8
   4.4 Hash ID Size Considerations ................................    8
5.0 SUCV Derivation and Formats ...................................    9
   5.1 Generating SUCV ID's, HID's and Addresses ..................   10
   5.2 HIP IPv6 Accomodation Mode .................................   10
6.0 Use of SUCV Addresses for Mobile IPv6 .........................   12
   6.1 Protocol Overview ..........................................   13
   6.2 Security Analysis ..........................................   15
      6.2.1 Intruder-in-the-middle attacks ........................   15
      6.2.2 Denial-of-Service Attacks .............................   18
7.0 Future Work ...................................................   19
   7.1  SUCV Sublayer .............................................   19
   7.2  Applications to Micro-Mobility ............................   20
8.0 Security Considerations .......................................   20
9.0 Conclusions ...................................................   21
References ........................................................   21
Authors' addresses ................................................   22























Expires January 20, 2001                                        [Page 2]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


1.0 Introduction

   This document addresses the identifier ownership problem
   [ADDROWN] by using characteristics of Statistic Uniqueness and
   Cryptographic Verifiability (SUCV) of certain entities which
   this document calls SUCV Identifiers (SUCV ID's).  This note
   also proposes using these SUCV characteristics in related
   entities called SUCV Addresses in order to severely limit
   certain classes of denial of service attacks and hijacking
   attacks. SUCV addresses can solve the 'address ownership'
   problem that severely undermines confidence in mechanisms like
   Binding Updates in Mobile IP for IPv6.


2.0 Related Issues



2.1 Address Ownership

   [ADDROWN] argues that there is a fundamental problem in handling
   operations like Binding Updates (BU's) in Mobile IP for IPv6
   [MIPv6], source routing, etc) that allows hosts to modify how
   other hosts route packets to a certain destination.  The problem
   is that these operations can be misused by rogue nodes to
   redirect traffic away from its legitimate destination.
   Authentication does not solve this problem. Even if a node
   unequivocally identifies itself, this has no bearing on its
   rights to modify how packets to any given address are routed.
   This is true even if its packets currently seem to emanate from
   the address in question. This last point is obvious if one
   considers DHCP leased addresses. It is imperative not to allow
   any node to redirect traffic for a DHCP address for which it
   held a valid lease previously. This would allow it to hijack
   traffic meant for the current valid user of the address in
   question. Hence, protection against hijacking of valid addresses
   requires cryptographic authorization for operations that modify
   routing (BU's, source routing, etc). One way to show
   authorization is by showing that the requesting node owns the
   address for which routing information is being altered. Quoting
   [ADDROWN]:

      Currently there exists no specified mechanism for proving
      address ownership in Internet-wide scale.







Expires January 20, 2001                                        [Page 3]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


2.2 Purpose Built Keys [PBK]

   Purpose built keys [PBK] have been proposed as a foundation for
   solving scaling and cost concerns associated with some uses of
   BU's [MIPv6]. It has also been suggested that such keys [PBK]
   can solve the authorization problem that is at the heart of the
   address ownership issue.

   The proposal is succintly to:

   1. Generate a temporary public/private pair

   2. Generate an EID = hash(public component)

       a. the initiator sends EID to responder along with initial
          protocol exchanges.

       b. the initiator sends public component to responder along
          with subsequent exchanges.

   3. The initiator sends the BU and its EID signed with its
      private key to the responder.

   Notice that the exchange at step 2 must be secure in order to
   avoid intruder-in-the-middle attacks, but it is an improvement
   over cookies.

   Several problems linger:

   1. This does NOT really address the address ownership problem of
      any publicly routable addresses

   2. It is not specified how the EID and public component of the
      PK are sent by the initiator to the responder

   3. Preventing or limiting hijacking and intruder-in-the-middle
      attacks depend on this sequence if not clearly specified.

   By the time the issues are worked out, [PBK] will look very
   similar to an existing proposal [HIPARCH].  Because of this, it
   may be simpler to base a solution on HIP.


3.0 Overview of the Proposal

   We assume that we have a network in which the nodes inherently
   distrust each other, and in which a global or centralized PKI
   (Public Key Infrastructure) or KDC (Key Distribution Center) is



Expires January 20, 2001                                        [Page 4]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


   not available.

   The goal is to arrive at some fundamental assumptions about
   trust on top of which one can build some useful peer-to-peer
   communication using opportunistic security.

   But in such a network, is there a default rule we can follow
   safely?  We posit this is it:

      Default Trust Rule:

         Redirect operations are allowed only with addresses which
         are bound (via a cryptographically sound binding) to the
         requesting entity.

   The above rule (to be refined later) constitutes the only rule
   that operates by default, allowing any other more dangerous
   operation only if authorized by strong cryptographic
   mechanisms.

   Furthermore, we suggest it be based on HIP for the following
   reasons:

   - HIP provides the types of identifiers required by the above
     rule.

   - The HIP protocol handshake [HIPPROT] is a foundation for a
     very solid sequence resistant to denial-of-service attacks.

   Nevertheless, this document proposes a specific use or 'profile'
   of HIP as applied to environments without DNS (particularly
   secure DNS), a centralized PKI, or a Key Distribution Center.
   Rather, we favor the opportunistic mode in HIP [HIPIMPL], and
   adapt and apply it to Mobile IPv6 (as detailed below). In order
   not to hinder deployment, a primary consideration has been to
   minimize the modifications of existing protocols and network
   support.

   Furthermore, at the end of this document we note that there are
   other areas that can benefit from similar adaptations of HIP's
   opportunistic mode. Their details, however, are left for further
   exploration.


4.0 Statistical Uniqueness and Cryptographic Verifiability (SUCV)

   In the absence of a third party, how does a principal prove
   ownership of its identity to a peer?



Expires January 20, 2001                                        [Page 5]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


   Notice that usual owner verification relies on a third party to
   provide this function.

   In this proposal, the principal self-generates a private/public
   key pair. It uses material obtained via a one-way hash of the
   public key as its identity (or as part of its address) and
   proves its ownership by signing it with its private key. The
   recipient verifies the signature, and, consequently, the
   ownership of the identity.


4.1 SUCV ID's

   It is much more practical for protocols to use fixed length
   identifiers (representations of identities). Because of this, we
   do not use the public key itself as the identifier, but its hash
   (as in HIP).

   These identifiers have a strong cryptographic binding with their
   public components (of their private-public keys). This is
   exactly the purpose that certificates have.  Let's call them
   Statistically Unique Cryptographically Verifiable ID's, or SUCV
   ID's.

   Because of this, once a CN obtains information about one of
   these identifiers, it has a strong cryptographic assurance about
   which entity created it. Not only that, it knows that this
   identifier is owned and used exclusively by only one node in the
   universe: its peer in the current exchange. Thus, it is safe to
   allow that peer to effect changes (via BU's, for example) on how
   this address or identifier is routed to. Notice that with
   publically routable addresses, this assurance is much harder to
   arrive at, given that the address may be 'loaned' to (not owned
   by) the peer in question, perhaps thanks to the good service of
   a DHCP server.

   Despite the fact that currently there is no way to prove address
   ownership in the Internet, these considerations lead to the
   following fundamental assumption:

      Default Trust Rule

         Redirect operations are only allowed to affect routing for
         entities which have the SUCV property.

   The above constitutes perhaps the only rule that operates by
   default, allowing any other more dangerous operation only if
   authorized by strong cryptographic mechanisms



Expires January 20, 2001                                        [Page 6]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


4.2 SUCV ID's versus Addresses

   What should one use: pure identifiers with no routing
   significance or addresses?

   For example, in the Mobile IPv6 case, a node starts using its
   home address, and issues binding updates as it moves.

   With a home address that is not an SUCV ID it is never evident
   to the CN that whoever was sitting on this address actually owns
   it. At the very most, the mobile node can prove that at some
   point it was sitting on a certain address, and later it can
   prove it is still the same node, but now sitting on another
   address.

   But it cannot prove ownership.  Ignoring this subtle distinction
   leads to DOS and hijacking attacks.

   Problems may also arise because of honest mistakes in
   configuration. For example, say node A was originally sitting on
   CoA, and then moved on to CoA'. Suppose it then asks its CN's
   to redirect traffic to CoA'. In the meanwhile, the original
   CoA may have been assigned to another node B, perhaps by the
   DHCP server that rightfully 'owns' that address. The result is
   that now traffic meant for B has been redirected to A at its new
   location.

   Relying on ingress filtering may limit the risk, but
   essentially, the only way for a node to prove ownership of an
   identifier (in the absence of any other centralized or global
   mechanism), is for it to prove that it created this
   statistically unique series of bits.

   The intent is to use an identifier instead of an address.  Using
   identifiers that satisfy the SUCV conditions outlined above, it
   is possible to gain the tremendous advantage that other nodes
   can safely believe the node when it claims ownership of that
   identifier.  Hence they can safely heed its redirects when it
   says that it is now available at some different CoA (and later
   at another).  Furthermore, you do not rely on ingress filtering
   to limit exposure.

   A major advantage to using an address is that the data traffic
   need not carry extra information in the packet to guarantee
   proper delivery by routing. Because of this it is advantageous
   to create addresses that are both routable and satisfy the SUCV
   property: SUCV addresses.




Expires January 20, 2001                                        [Page 7]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


   Another advantage to using an SUCV address is that this address
   can be registered in the DNS and the host does not have to worry
   about communicating securely this identifier to its correspondent
   node. The correspondent node will just get it from the DNS.


4.3 SUCV Addresses

   In IPv6, addresses that satisfy the SUCV property may be
   obtained as follows (this is very similar to [CAM]):

   - use the top 64 bits from your routing prefix (as in rfc3041)

   - define the bottom 64 bits as an SUCV ID (called the HID or
     'hash' ID). Use these 64 bits instead of the 'interface
     identifier' in IPv6 [IPV6ADDR].

   The resultant 128 bit field is an identifier that is also
   routable, avoiding the need for taking extra space in the packet
   by sending routing options. Notice that even after moving, it is
   possible to reuse the 'HID' portion of the address with the new
   network prefix at the new location. Thus it is possible to reuse
   the HID with different CoA's.

   Nevertheless, by snooping on binding updates, it is possible for
   an attacker to learn the original network prefix used by the
   home address. This tells an eavesdropper where this home address
   began to be used, and to which network it belongs, potentially
   important information.

   On the other hand, if you use a 'pure' SUCV ID (without any
   routing significance), then your packets will always need extra
   information somewhere to assure they are routed properly.
   Eavesdroppers may still know where that identity is at any
   particular point in time. Nevertheless, this is a tangible
   improvement over always including a valid 64 bit prefix, as this
   divulges information about an identity's topological
   connectivity or under what prefix a given identity began to be
   used.

   For further details on SUCV address please refer to section
   5.0.


4.4 Hash ID Size Considerations

   In SUCV addresses, one of the lower 64 bits is reserved as the
   local/universal bit (the 'u' bit), so only 63 bits are actually



Expires January 20, 2001                                        [Page 8]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


   usable as a hash.

   Suppose the hash function produces an n-bit long output. If we
   are trying to find some input which will produce some target
   output value y, then since each output is equally likely we
   expect to have to try 2^(n-1) possible input values on average.

   On the other hand, if we are worried about naturally ocurring
   SUCV address duplications, then then by the birthday paradox we
   would expect that after trying 1.2*2^n/2 possible input values
   we would a 50% probability of collision [BIRTH].

   So if n=63, you need a population of 1.2*2^31.5 i.e. 3.64*10^9
   nodes on average before any two produce duplicate addresses.
   This is acceptable especially if you consider that this
   collision is actually harmfull only if the 2 hosts (that
   collide) are in the same site (i.e.  they have the same 64 bit
   prefix), and have the same correspondent nodes.  This is very
   unlikely.  Additionally, assuming the collision is not
   deliberate the duplicate address detection (DAD) will detect
   it.

   If an attacker wishes to impersonate a given SUCV address, it
   must attempt 2^62 (i.e. approximately 4.8*10^18) tries to find a
   public key that hashes to this SUCV address.  If the attacker
   can do 1 million hashes per second it will need 142,235 years.
   If the attacker can hash 1 billion hashes per second it will
   still need 142 years

   If we consider that the SUCV Addresses are renewed every 24
   hours (as suggested in RFC3041), an attacker would then have to
   to hash 5.3*10^13 hashes/second in order to be able to find a
   public key that hashes to the SUCV HID of a given host...

   Note that the previous analysis only considers the cost of
   computing the hash of the public key. Prior to this step, an
   attacker must also generate a valid (public, private) key pair.
   This is also a very computionally expensive operation.

   As a conclusion SUCV addresses as used in this document provide
   more than enough security.


5.0 SUCV Derivation and Formats

   This section describes how to generate an SUCV ID (128 bits) and
   SUCV HID (64 bits). It also defines extensions to HIP formats
   for SUCV support.



Expires January 20, 2001                                        [Page 9]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


5.1 Generating SUCV ID's, HID's and Addresses

   First of all, the node generates a public/private key pair.
   Then we define the required quantities as:

   128-bit SUCV Identifier:

      sucvID = prfID(PublicKey, k)

   64-bit SUCV Host ID (HID):

      sucvHID = prfHID(PublicKey, j)

   128-bit IPv6 SUCV Address:

      sucvADDR = 64-bitPrefix + sucvHID

   Where:

      k and j = 16 bit counters

      prfID = least significant 128 bits of:
                SHA-1 hash of the PublicKey concatenated with k.

      prfHID = least significant 64 bits of:
                SHA-1 hash of the PublicKey concatenated with j,
                with bit 6 (the left-most bit is numbered 0) set to
                0.  This creates an interface identifier with local
                significance.

      PublicKey = public key host identity as defined in HIP

   The counter is used to generate new SUCV ID's and Addresses
   from the same public/private key pair.


5.2 HIP IPv6 Accomodation Mode

   Using these ID's or addresses depends on also communicating
   safely the SUCV portion, and this, in turn is dependent on the
   packet sequencing, etc. Given that HIP includes mechanisms and
   detailed considerations in this regard (protection against
   replay, DOS and MITM attacks), our proposed solution is based
   heavily on HIP [HIPARCH, HIPPROT, HIPIMPL].

   To obtain an IPv6 SUCV address, we define a HIT-64 format and
   use its lower 64 bits to form the relevant IPv6 addresses (this
   constitutes HIP's IPv6 accomodation mode). So, for example, the



Expires January 20, 2001                                       [Page 10]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


   HIT-64 is used to form global aggregatable addresses which start
   thus [IPV6ADDR]:

      Aggregatable Global Unicast Addresses 001

   As well as to derive link-local and site-local addresses which
   start thus:

      Link-Local Unicast Addresses          1111 1110 10
      Site-Local Unicast Addresses          1111 1110 11

   The HIT-64 format (section 5.2 of [HIPARCH]) is defined as
   follows:

   - first 64 bits:
      - Bit 0 is one
      - HAA field (next 63 bits) formed as follows:
         - RAA: 23 bits of registered assigning authority assigned
           by ICANN (suggested value: 0)
         - RI: 40 bits of  registered identity assigned
           sequentially by the RAA. (suggested value: 0)
   - last 64 bits:
        - sucvHID as defined above
        - used as the interface identifier in IPv6 addresses

   The IPv6 accomodation mode consists in using a HIT-64 to form an
   IPv6 address.

   A HIT-64 derived IPv6 Aggregatable Global Unicast Address
   (RFC2374) is formed as follows:

   - top 64 bits: as per the valid prefix at the link the device is on

   - bottom 64 bits:  interface identifier obtained by taking the
     last 64 bits of the above HIT-64, and setting bit 6 (the
     left-most bit is numbered 0) to 0.  This creates an interface
     identifier with local significance.

   From this IPv6 address, other non-global scope addresses are
   derived. For example,  a node uses the bottom 64 bits to form
   the site-local and link-local addresses on the same prefix
   (link) as the aggregatable global unicast address
   (alternatively, if a non-global address is formed first, it is
   used to form the others). Furthermor, if this address is used in
   conjuction with Mobile IP for IPv6 [MIPV6], the Home Agent uses
   the Prefix Length information within a "home registration"
   binding update to form the corresponding link-local and
   site-local addresses for the Mobile Node, and defend them for



Expires January 20, 2001                                       [Page 11]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


   purposes of Duplicate Address Detection.

   Any of the addresses formed as described above constitute SUCV
   addresses.


6.0 Use of SUCV Addresses for Mobile IPv6

   In Mobile IPv6, a mobile host obtains a new address, a CoA, each
   time it moves. It then registers the binding between its home
   address and its new CoA with its home agent and correspond
   nodes.  Correspondent nodes in posession of such a binding can
   send packets to the mobile node directly at its current CoA.
   Instead, sending packets to the mobile node's home address
   implies sub-optimal routing as they first proceed to the mobile
   node's home link, where they are intercepted by the home agent
   and forwarded to the mobile node's CoA.

   However, the correspond nodes MUST verify that the home address
   actually belongs to the mobile node. Otherwise, an attacker
   could send a binding update with a victim's home address, thus
   redirecting all the victim's packets.

   Additionally, the correspond nodes SHOULD verify that the CoA
   actually belongs to the mobile node.  Otherwise, any host could
   use the address of a victim as its CoA. The packets that were
   initially addressed to the first host will then be sent to the
   victim. Depending on how much traffic this implies, this could
   be used as a denial-of-service attack.

   These attacks can be avoided if, in order to accept and process
   a binding update, a correspond host requires a mobile node to
   prove ownership of its home address and its CoA. If ownership is
   proven, the correspondent node has the assurance that the mobile
   node is not hijacking some other node's address, or that it is
   not directing packets at some other node's address.

   The solution that we propose is that a mobile node uses the
   method describes previously to configure its Home Address and
   its CoA (the same HID and public/private key pair is used for
   the home address and the CoA).

   By verifying the signature and the HID, the correspond host has
   the assurance that the mobile host is not using some other
   node's home address and CoA.

   As described in [MIPPRIV], the use of SUCV Identifier for Mobile
   IPv6 is useful when a mobile node wishes to hide its home



Expires January 20, 2001                                       [Page 12]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


   address. Indeed the home address can reveal a lot of information
   about a mobile node. [MIPPRIV] proposes to use a random
   Temporary Mobile Identifier (TMI) in place of the home address.
   By using a SUCV ID as a TMI, a mobile node will be able to prove
   ownership of the TMI and avoid hijacking attacks.


6.1 Protocol Overview

   The following protocol, SUCVp, has been designed based on the
   following considerations:

   - the goal is to secure binding updates sent by a mobile node to
     an arbitrary correspondent node

   - the protocol should not rely on a third party (i.e. a global
     PKI, central key distribution center, etc), although it could
     use one if available

   - not all nodes need to use SUCV addresses, only those that wish
     their binding updates to be heeded (mobile nodes)

   - not all nodes need to verify the validity of SUCV addresses,
     only those that wish to safely heed binding updates in order
     to populate its binding cache

   The proposed protocol that a mobile host uses to send a BU to its CN
   is the following:

      SUCVp1- The MN sends a SUCVp1 message (just to initiate the
           exchange) to its correspond node.  This message contains a
           Nonce, N1.

           This packet MUST contain a MIP HomeAddress Option
           containing the MN's home address. The source address of
           the packet is the MN's current CoA.

      SUCVp2- The CN replies with a SUCVp2 message that contains the
            following:  N1, Client puzzle request, Diffie-Hellman
            value, Session_Key_lifetime)











Expires January 20, 2001                                       [Page 13]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001



            In order to defend against SUCVp1 storms, a host might
            use the same DH value for a period of time.  The SUCVp2
            contains a client puzzle to prevent DoS attacks
            [PUZZLES].  When the MN receives SUCVp2, it verifies
            that the nonce N1 is the same than the one that was
            sent in the SUCVp1.  It then resolves the puzzle
            request and replies with SUCVp3. This message also
            contains a DH value used to generate a session key and
            a suggested lifetime for the generated session key.

            Note that this message is sent to the MN's Home Address
            and forwarded by the Home Agent to the Mobile current
            CoA.  We make the assumption that the MN and the HA
            share a secret key and that the MN has already
            registered its current CoA with the Home Agent.


      SUCVp3- The MN replies with a SUCVp3 message that contains
            the following:  Puzzle reply, the Public key it has
            used to generate its HID, a Diffie-Hellman value, a
            suggested SKey lifetime and a MIPv6 BU.  This message
            MUST be signed by the MN with its private key (the
            public key is used to generate the HID).  The MIPv6 BU
            is possibly encrypted using the session key that is
            derived from the DH value.

            Note that the home address contained in the BU is
            either a SUCV Address or a SUCV Identifier. The CoA is
            either a SUCV Address or a regular address. By using a
            CoA SUCV address, a CN has the assurance the the CoA
            belongs to the MN and has not been stolen.


   When the CN receives the SUCVp3, it can verify the ownership of
   the Home and CoA addresses and authenticate the BU because it is
   signed.

   The MN and CN then derive a session key, SKey, (using the
   ephemeral D-H value), and use it with an authentication
   algorithm (for example HMAC) to authenticate other subsequent BU
   (if any) as it is done in current MIPv6. The lifetime of SKey is
   the minimum of the lifetime suggested by the MN and the CN.

   As long as the MN uses the same HID interface identifier for its
   CoA, it does not have to prove the CoA ownership and BU
   authentication is enough.  If for any reason the MN configures
   its CoA with a new interface identifier, it MUST restart the



Expires January 20, 2001                                       [Page 14]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


   whole protocol (i.e. SUCVp1, SUCVp2, SUCVp3).

   This proposal does not require any previously established
   relationship between the MN and the CN. By using a Home Address
   in SUCV address format (that is, generated by hashing a public
   key), and signing SUCVp2 with the corresponding private key, a
   mobile node can prove ownership of its Home Address.

   Our proposal is heavily inspired by HIP, including its
   protection against denial-of-service attacks. Also, the SUCV
   home addresses as the base mechanism affords it protection
   against man-in-the-middle attacks.  An attacker will not be able
   to redirect the traffic destined to a particular SUCV Home
   Address unless it can find a (public, private) key pair such
   that the hash of the public component is equal to the least
   significant 64 bits in the SUCV Home Address (see Section 6.2).
   This is computationally infeasible (see section 4.4).


6.2 Security Analysis

   In this section we analyse the security of our proposals against
   intruder-in-the-middle and DoS attacks.


6.2.1 Intruder-in-the-middle attacks

   As described in 6.1, a Mobile node uses an SUCV home address
   (and possibly an SUCV CoA), and signs its binding updates with
   its private key An intruder between the mobile node and its
   correspond node could intercept the BU but will not be able to
   alter it (for example with another CoA) without invalidating the
   signature.  Furthermore the intruder won't be able to send a
   fake BU to the correspond node for the MN's home address because
   it does not know the (pub,priv) key pair that was used to
   generate the home address and signs the BU.  The only attack
   that the intruder can perform is to drop the BU sent by the
   mobile host, preventing the correspond host from using the
   direct route to the Mobile node.

   An intruder will NEVER be able to redirect the trafic addressed
   to the MN to another address.

   As described in Section 6.1, a mobile node and its correspond
   node can derive a shared (symetric) key to authenticate the
   subsequent Binding updates sent by the MN.  Note that the first
   BU must be signed by the MN to prove the HID interface
   identifier owernship (used by the home address and possibly by



Expires January 20, 2001                                       [Page 15]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


   the CoA) but then as long as this HID interface identifier does
   not change, BU authentication is enough.

   We propose that the MN and its CN derive the shared key using
   Diffie-Hellman algorithm.

   -  The CN chooses a random secret y and sends g^y mod p to the
      MN (in the DH value field of SUCVp2)

   -  The MN chooses a random secret x and sends g^x mod p to its
      CN (in the DH value field SUCVp3)

   The session key shared by the MN and its CN is then a hash
   digest of g^x.y mod p (g and p are known by the MN and CN).

   Diffie Hellman is know to be vulnerable to the
   "intruder-in-the-middle" attack on un-authenticated DH key
   agreement:

   CN ---> g^y -----> Intruder  ------> g^y'  -----> MN
   CN <--- g^x'-----> Intruder  <------ g^x   <----- MN

   The intruder intercepts g^y sent by the CN and sends g^y' to the
   MN.  The intruder also intercepts g^x sent by the MN and sends
   g^x' to the CN.  As a result, MN shares the key g^x.y' with the
   intruder (it actually thinks that it is sharing this key with
   its CN). The CN shares the key g^x'.y with the intruder (it
   actually thinks that it is sharing this key with the MN). The
   Intruder can then impersonate the MN and the CN.

   In our protocol, SUCVp2 is sent via the home agent. As a result,
   an intruder will be able to intercept only if it is on the
   CN-HA-MN and CN-MN paths (i.e. if it can hear the packets that
   go from the CN to the MN via the Home Agent and the packets that
   are sent directly from the CN to the MN). This condition limits
   significantly the potential attackers.

   However even if the intruder was able to be on both paths
   (CN-HA-MN and MN-CN), the MN signs SUCVp3 (with contains g^x).
   As a result, the intruder can not modify nor replace this
   message.  This only thing that the intruder could do is to
   replace the CN's DH value, g^y, by g^y':

   CN ---> g^y -----> Intruder  ------> g^y'   -----> MN
   CN <--- g^x -----> Intruder  <------ g^x    <----- MN

   MN will then generate the key : g^x.y',  CN the key : g^x.y and
   the intruder the key g^x.y.



Expires January 20, 2001                                       [Page 16]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


   As a result, the MN will authenticate its BU with g^x.y' but the
   CN will not accept them (because is uses g^x.y to verify the
   authentication).  The intruder will be able to verify the MN's
   BU but can not generate any BU that would be accepted by the
   CN.  As a result, the intruder is not able to redirect the MN's
   trafic to an alternate CoA.

   The only thing that the intruder is able to do is to prevent the
   CN from using the direct route to the MN. This might lead to
   some packets losses before the CN realises that the MN has moved
   and that it should use the MN's home address (this leads to
   service degradation not disruption).

   In some case, a MN might request to its CN to acknowledge the
   reception of the BU.  The intruder could actually fool the MN by
   sending an acknowledgement with the CN address as source address
   (note that the intruder could also authenticate this
   acknowlegement since it know the key used by the MN, g^x.y).
   This might confused the MN that has received an acknowledgement
   but keeps receiving the packets from the CN via its home agent
   (note that the same problem exists also will current Mobile IPv6
   specification)!

   Another problem might occur if the MN encrypts its BU with the
   shared key (for privacy reason for example).  The intruder is
   able to decrypt the BU and read its contents.

   One solution to these problems is for the the CN to use an SUCV
   address and to sign SUCVp2 (the message that contains the DH
   value).  Then, the intruder will not be able to substitute g^y
   by g^y'.

   The previous security analysis shows that the protocol described
   in Section 6.1 prevents any intruders from redirecting the
   traffic addressed to a mobile host's home address and
   consequently provides the minimal Mobile IP security requirement
   [MIPv6SecReq].  An intruder can really be harmful if (1) it is
   able to find a public/private key that hash to the MN's HID
   (this is very difficult) and (2) it can hear the packets that go
   from the CN to the MN via the HA and the packets that go from
   the CN to the MN.

   If additional security is required, SUCV addresses should be
   also used by the CN. This probably means that a 5 messages
   protocol, such as "opportunistic" HIP should have to be used
   between the MN and the CN (see Section 7.1)...





Expires January 20, 2001                                       [Page 17]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


6.2.2 Denial-of-Service Attacks

   Denial-of-service (DOS) attacks that exhaust a host resource
   (memory and computional resources) is a major security threat on
   the Internet.  In the section we study the behaviors of the
   protocol described in Section 6.1 against  DoS attacks.

   SUCVp1 storm:

      Malicious hosts, could try to attack a host, by sending a
      storm of SUCVp1 messages. We prevent this potential attack as
      follows:

      -  when receiving a SUCVp1, a host does not create any state
         and replies with a constant message (SUCVp2) that contains
         a client puzzle [PUZZLES].

      -  An host only creates a state only if it receives a valid
         puzzle reply to its puzzle request (in SUCVp3).

   SUCVp2 storm:

      Malicious host could try to attack a host by sending a storm
      of SUCVp2 messages. We prevent this attack by inserting a
      nonce, N1, in the SUCVp1.  If a host receives a SUCVp2 with a
      nonce N1 that is not equal to the nonce N1 that it has set in
      the initial SUCVp1, this SUCVp2 must be rejected.

      Note that an intruder (between the MN and its CN) could
      intercept the SUCVp1 and reply to the MN with a fake SUCVp2
      containing a valid N1 and an intentionally difficult puzzle
      request. The MN would then spend a lot of CPU and power
      computing the puzzle reply. This attack can be avoided if the
      MN had a mean to authenticate the address used by its CN.
      One solution is that the CN uses a SUCV address and signs
      SUCVp2.  We believe that this solution make the protocol much
      too complex for what it has been designed for (the MN then
      has to verify the SUCVp2's signature and the protocol would
      then probably have to be extended with additional messages as
      in HIP "opportunistic mode").

            MN   --SUCVp1--->   Intruder            CN
            MN  <--SUCVp2---    Intruder

      The Mobile IPv6 route optimization is beneficial but it is
      not essential. A mobile host is still reachable even if route
      optimization is not available.  There is always a tradeoff
      between service availability and complexity of the



Expires January 20, 2001                                       [Page 18]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


      authentication protocol.  For the Mobile IPv6 route
      optimization service, we believe that the protocol should be
      kept as simple as possible at the expense of service
      degradation sometimes.

      Therefore we suggest that a MN simply reject any SUCVp2
      messages that contain an overly complex client puzzle request
      Of course, the MN itself defines the complexity threshold of
      the puzzle request as a function of its processing power.

      As a result, the attack that consists of sending complex
      puzzles (in SUCVp2) to a MN, in order to exhaust its
      computing resources, will not be sucessful, because the MN
      will drop the SUCVp2.  The MN service will be degraded
      (because its incoming packets will then be routed through its
      home agent) but not disrupted.

   SUCVp3 storm:

      Malicious host could try to attack a host by sending a storm
      of SUCVp3 messages.  We prevent this attack by using a client
      puzzle. A host accepts a SUCVp3 message only after verifying
      that the puzzle reply (contained in the SUCVp3) is valid.


7.0 Future Work



7.1  SUCV Sublayer


   In this draft we propose a protocol for a MN to prove the
   ownership of its addresses and to authenticate the BU that it
   sends to its CN. This protocol was made part of Mobile IPv6 for
   deployment reasons.  However the address owernship problem is
   more general than Mobile IPv6 and other protocols and
   applications might need this functionality.

   In the long run it might be more efficient to have a "SUCV"
   sublayer below the IP layer (such as in the IPSec sublayer) that
   could be used by  all protocols and applications above it.  This
   protocol would be used between two communicating hosts to prove
   the address ownership of each host and to derive shared keys
   that could be used by the hosts' protocols and applications.

   This protocol should provide mutual owernship proof (i.e. proves
   the address ownership of both hosts) and/or unilateral owernship



Expires January 20, 2001                                       [Page 19]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


   proof (i.e. proves only the address ownership of one of the
   hosts).

   A host communicating with a mobile host would then use this
   service to prove the ownership of the MN's home address and
   CoA.

   We believe that the "opportunistic mode" of HIP
   [HIPARCH,HIPIMPL,HIPPROT] (with the IPv6 accomodation mode
   described in Section 5.0) is a good candidate for the SUCV
   sublayer. However more studies are needed.  We leave this SUCV
   sublayer design for future work.


7.2  Applications to Micro-Mobility

   Recent micro-mobility management protocols (such as HAWAII or
   Cellular IP) propose to use specialized path setup schemes which
   install host-based forwarding entries in specific routers to
   support intra-domain micro-mobility. In order to avoid trafic
   redirection, routers need to verify the ownership of an address
   used by a mobile host before adding an entry for that particular
   mobile host in its routing table. SUCV addresses or identifiers
   also can be very useful for that purpose.


8.0 Security Considerations

   The technique introduced in this document is meant to increase
   the level of security in the Internet.

   This document explains the concept of statistical uniqueness and
   cryptographic verifiability (SUCV), specially as it applies to
   IPv6 addresses in the form of SUCV addresses. The SUCV
   characteristics are used to prove address ownership, thus
   preventing a class of attacks which exploit this fault in many
   types of commands.  In particular, commands which alter how an
   address is treated by peers or by the routing infrastructure can
   be used to launch denial of service attacks or hijacking
   attacks. Proving address ownership eliminates these attacks.
   However, given that this technique is meant to be used primarily
   in the absence of global infrastructures, the possibility of man
   in the middle attacks does remain. Nevertheless, since the
   protocol used here is based on HIP, these attacks are limited by
   the use of cookies and client puzzles.






Expires January 20, 2001                                       [Page 20]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


9.0 Conclusions

   The present document focuses on the use of the SUCV property to
   enhance the security of exchanges between an arbitrary pair of
   peers in the absence of any third party.  In particular, we
   propose that SUCV addresses be used to solve the issue of
   securing binding updates in Mobile IPv6.


References

[ADDROWN] Pekka Nikander, "An Address Ownership Problem in IPv6",
   draft-nikander-ipng-address-ownership-00.txt, February 2001.

[BIRTH] http://www.rsasecurity.com/rsalabs/faq/2-4-6.html

[CAM] Greg O'Shea and Michael Roe, "Child-proof Authentication for
   MIPv6 (CAM)", ACM Computer Communications Review, April 2001.

[HIPARCH] Bob Moskowitz, "HIP Architecture",
   draft-ietf-moskowitz-hip-arch-02.txt

[HIPIMPL] Bob Moskowitz, "HIP Implementation",
   draft-moskowitz-hip-impl-01.txt

[HIPPROT] Bob Moskowitz, "Host Identity Payload and Protocol",
   draft-moskowitz-hip-03.txt

[IPV6ADDR] Hinden, Deering, "IPv6 Addressing Architecture,"
   draft-ietf-ipngwg-addr-arch-v3-05.txt

[MIPPRIV] Castelluccia, Dupont, "A Simple Privacy Extension for
   Mobile IPv6," draft-castelluccia-mobileip-privacy-00.txt,
   February 2001.

[MIPV6] C. Perkins, "Mobile IP for IPv6",
   draft-ietf-mobileip-ipv6-13.txt

[PBK] Bradner, Mankin, Schiller, "Purpose Built Keys",
   draft-bradner-pbk-frame-00.txt

[PUZZLES] Tuomas Aura, Pekka Nikander and J. Leiwo. DOS-resistant
   Authentication with Client Puzzles.

[RFC3041] T. Narten, R. Draves "Privacy Extensions for Stateless
   Address Autoconfiguration in IPv6," RFC 3041.

[WeakMD5] H. Dobbertin, "Cryptanalysis of MD5 Compress",



Expires January 20, 2001                                       [Page 21]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


   http://www.cs.ucsd.edu/users/bsy/dobbertin.ps

[MIPv6SecReq] Nikander, Harkins, Patil, Roberts, Nordmark, Narten,
   Mankin, "Threat Models Introduced by Mobile IPv6 and
   Requirements for Security in Mobile IPv6",
   draft-team-mobileip-mipv6-sec-reqts-00.txt

Authors' addresses

   Questions about this document may be directed to:

          Gabriel Montenegro
          Sun Microsystems Laboratories, Europe
          29, chemin du Vieux Chene
          38240 Meylan, FRANCE

          Voice:  +33 476 18 80 45
          E-Mail: gab@sun.com


          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

Copyright (c) The Internet Society (2000). 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.




Expires January 20, 2001                                       [Page 22]


INTERNET DRAFT       SUCV Identifiers and Addresses            July 2001


   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.













































Expires January 20, 2001                                       [Page 23]