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]