Network Working Group J. Arkko
Internet-Draft P. Nikander
Expires: September 1, 2003 Ericsson
T. Kivinen
M. Rossi
SSH Communications Security
March 3, 2003
Manual Configuration of Security Associations for IPv6 Neighbor
Discovery
draft-arkko-manual-icmpv6-sas-02.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
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.
This Internet-Draft will expire on September 1, 2003.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract
This informational document discusses the use of manually configured
IPsec security associations to protect IPv6 Neighbor Discovery (ND)
messages. IPsec security associations are generally identified by
the triple (security parameters index, destination address,
protocol). In the case of Neighbor Discovery, configuring these
associations requires some effort, however. There are multiple known
destination addresses plus a number of addresses that depend on the
Arkko, et al. Expires September 1, 2003 [Page 1]
Internet-Draft Manual SAs for ND March 2003
physical link addresses. This document describes the security
implications of protecting or not protecting the Neighbor Discovery
messages and lists the security associations that must be configured
manually. The presented method is applicable only in small networks,
but some approaches for reducing the configuration effort are
discussed.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5. Neighbor Discovery Tasks . . . . . . . . . . . . . . . . . . . 8
5.1 Router and Prefix Discovery . . . . . . . . . . . . . . 8
5.2 Address Autoconfiguration . . . . . . . . . . . . . . . 8
5.3 Duplicate Address Detection . . . . . . . . . . . . . . 9
5.4 Address Resolution . . . . . . . . . . . . . . . . . . . 9
5.5 Neighbor Reachability Detection . . . . . . . . . . . . 9
5.6 Redirect . . . . . . . . . . . . . . . . . . . . . . . . 9
6. Recommendation for manual security association setup . . . . . 11
7. Security Implications of Neighbor Discovery Messages . . . . . 14
7.1 Router Discovery . . . . . . . . . . . . . . . . . . . . 15
7.2 Address Resolution . . . . . . . . . . . . . . . . . . . 15
7.3 Duplicate Address Detection . . . . . . . . . . . . . . 16
7.4 Address Autoconfiguration . . . . . . . . . . . . . . . 16
7.5 Neighbor Reachability Detection . . . . . . . . . . . . 16
7.6 Redirect . . . . . . . . . . . . . . . . . . . . . . . . 17
7.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . 17
8. Approaches for Reducing Configuration Effort . . . . . . . . . 19
9. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 21
Normative References . . . . . . . . . . . . . . . . . . . . . 22
Informative References . . . . . . . . . . . . . . . . . . . . 23
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 23
A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 25
Intellectual Property and Copyright Statements . . . . . . . . 26
Arkko, et al. Expires September 1, 2003 [Page 2]
Internet-Draft Manual SAs for ND March 2003
1. Introduction
IPv6 architecture makes it possible to secure all IP packets using
IPsec [3], even control messages and even to multicast addresses.
IPsec architecture has a Security Policy Database that specifies
which traffic is protected, and how.
The IPv6 Neighbor Discovery [5] protocol is intended to be used for
router discovery, address resolution, and other tasks on the local
link. As described elsewhere [11], dynamically negotiated security
associations cannot be used to protect these messages as the
negotiation would already require the messages to have been
exchanged. Instead, manually configured security associations must
be used.
However, setting up these security associations is not easy. This
document lists those fixed multicast, calculated multicast, and node
addresses for which the security associations must be created. We
will also discuss the security implications of the Neighbor Discovery
messages under various assumptions of attacker capabilities.
Finally, we discuss approaches that can be used to reduce
configuration work in setting up the manual security associations.
These approaches include configuration tools, the use of well-known
SPI numbers with special treatment, and new protocols.
The configuration guidelines in this document are one approach which
MAY be used by system administrators. The guidelines do not imply
any implementation modifications or extensions for Neighbor Discovery
or IPsec. However, the ability of IPsec security policy entries to
use ICMP type as a selector eases the construction of the entries.
Such extensions are outside the scope of this document.
Arkko, et al. Expires September 1, 2003 [Page 3]
Internet-Draft Manual SAs for ND March 2003
2. Terminology
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [1].
Arkko, et al. Expires September 1, 2003 [Page 4]
Internet-Draft Manual SAs for ND March 2003
3. Terms
Internet Control Message Protocol version 6 (ICMPv6)
The IPv6 control signaling protocol. Neighbor Discovery is a part
of ICMPv6.
Neighbor Discovery (ND)
The IPv6 Neighbor Discovery protocol [5].
Security association (SA)
A security association (SA) is a simplex "connection" that affords
security services to the traffic carried by it. Security services
are afforded to an security association by the use of AH, or ESP,
but not both. A security association is uniquely identified by a
triple consisting of a Security Parameter Index (SPI), an IP
Destination Address, and a security protocol (AH or ESP)
identifier [3].
Security Association Database (SAD)
A nominal database containing parameters that are associated with
each (active) security association. For inbound and outbound
IPsec processing, these databases are separate.
Security Parameters Index (SPI)
An arbitrary 32-bit value. Together with the destination IP
address and security protocol (ESP or AH) identifier, the SPI
uniquely identifies the Security Association. Values from 1 to
255 are reserved.
Security Parameters Index (SPI)
A security parameters index identifies a particular security
association among a group of security associations with the same
destination address and protocol.
Security Policy
The security policy determines the security services afforded to
an IPsec protected packet and the treatment of the packet in the
network.
Arkko, et al. Expires September 1, 2003 [Page 5]
Internet-Draft Manual SAs for ND March 2003
Security Policy Database (SPD)
A nominal database containing a list of policy entries. Each
policy entry is keyed by one or more selectors that define the set
of IP traffic encompassed by this policy entry. Separate entries
for inbound and outbound traffic is required [3].
Arkko, et al. Expires September 1, 2003 [Page 6]
Internet-Draft Manual SAs for ND March 2003
4. Addressing
Neighbor Discovery messages are sent using various kinds of source
and destination address types. The nature of the destination address
is of relevance here, as the destination address is used to find the
right security association. The destination address can be either a
well known multicast address, a computed multicast address, such as
the solicited-node multicast address, or a unicast address. Many
Neighbor Discovery messages use multicast addresses in most cases.
Some messages can also be sent to unicast addresses in certain
situations. For instance, the Neighbor Solicitation messages are
usually sent to multicast addresses, but the Neighbor Advertisement
messages are also sent to unicast addresses when sent as a response
to a node that has an address.
The Neighbor Discovery specifications do not always use specific
language when talking about the possible forms of addresses for the
messages. The word "typically" is in some cases used to describe an
address that would most logically be used for a particular message,
but other addresses may still be used in some situations or in some
implementations.
Arkko, et al. Expires September 1, 2003 [Page 7]
Internet-Draft Manual SAs for ND March 2003
5. Neighbor Discovery Tasks
Neighbor Discovery has several tasks, and many of these tasks are
overloaded on a few central message types such as the Neighbor
Solicitation message. In this chapter we explain some of these tasks
and their effects in order to understand better how the messages
should be treated. We will only discuss those tasks for which manual
security association protection is relevant, i.e., which cannot be
protected using IKE-based [4] security associations according to
[11].
5.1 Router and Prefix Discovery
The main purpose of the router discovery is to find neighboring
routers that are willing to forward packets on the behalf of hosts.
Prefix discovery involves determining which destinations are directly
on a link; this information is necessary in order to know whether a
packet should be sent to a router or to the destination directly.
Typically, address autoconfiguration and other tasks can not proceed
until the router discovery process has run.
The Router Solicitation and Router Advertisement messages are used
for this and only this purpose.
The Router Solicitation message has ICMPv6 type 133. The destination
address is typically the All Routers multicast address [2]. This
message is always used only locally on the link.
The Router Advertisement message has ICMPv6 typer 134. The
destination address can be either a unicast or the All Nodes
multicast address [2]. Like the solicitation message, the
advertisement is also local to the link only.
5.2 Address Autoconfiguration
Address autoconfiguration is another part of the Neighbor Discovery
protocol [6]. It's purpose is to automatically assign addresses to
interfaces. It comes in two variants, stateless and stateful. In
this document we consider only the stateless autoconfiguration
aspects.
The Neighbor Solicitation and Advertisement messages are used for
this purpose, among other things. Furthermore, Router and Prefix
Discovery and Duplicate Address Detection have an effect to the
Address Autoconfiguration tasks.
The Neighbor Solicitation message has ICMPv6 type 135. The
destination address is either the solicited node multicast address,
Arkko, et al. Expires September 1, 2003 [Page 8]
Internet-Draft Manual SAs for ND March 2003
unicast address, or an anycast address [2, 7]. Neighbor Solicitation
and Advertisement messages are used for multiple purposes: address
autoconfiguration, duplicate address detection, and reachability
detection. In all these roles they are link local.
The Neighbor Advertisement type is 136. The the destination address
is either a unicast address or the All Nodes multicast address [2].
Like the solicitation message, this message is link local.
5.3 Duplicate Address Detection
As a part of the stateless address autoconfiguration procedure, nodes
check for duplicate addresses prior to assigning an address to an
interface [6]. This procedure uses the same messages as the Neighbor
Discovery protocol [5]. Since the rules outlined in RFC 2462 [6]
forbid the use of an address for both sending and receiving packets
until it has been found unique, no higher layer traffic is possible
until this procedure has completed.
The Neighbor Solicitation and Advertisement messages are used also
for this purpose.
5.4 Address Resolution
In address resolution nodes determine the link-layer address of a
local destination given only the destination's IP address. Again, no
higher level traffic can proceed until the sender knows the hardware
address of the destination or the next hop router.
The Neighbor Solicitation and Advertisement messages are used also
for this purpose.
5.5 Neighbor Reachability Detection
Hosts monitor the reachability of local destinations and routers in
the Neighbor Unreachability procedure, which is a part of the
Neighbor Discovery protocol [5]. No higher level traffic can proceed
if this procedure flushes out neighbor cache entries after (perhaps
incorrectly) determining that the peer is not reachable.
The Neighbor Solicitation and Advertisement messages are used also
for this purpose.
5.6 Redirect
In the Redirect procedure, a router informs a host of a better
first-hop node to reach a particular destination [5]. It is a part
of the Neighbor Discovery protocol. As routers forward packets
Arkko, et al. Expires September 1, 2003 [Page 9]
Internet-Draft Manual SAs for ND March 2003
regardless of them being sent first to the wrong place,
communications can still be established without the ability to
process Redirect messages.
The Redirect message is used solely in the Redirect procedure. Its
ICMPv6 type is 137. The Redirect message is always sent from a
unicast addresses to the source address of the packet that triggered
the Redirect. Rules in RFC 2373 [2] dictate that unspecified,
anycast, or multicast addresses may not be used as source addresses.
Therefore, the destination address will always be a unicast address.
This message is only used for link local purposes, not for end-to-end
communications.
Arkko, et al. Expires September 1, 2003 [Page 10]
Internet-Draft Manual SAs for ND March 2003
6. Recommendation for manual security association setup
As described above, Neighbor Discovery uses as a destination address
either an unicast address, a known multicast address, or a computed
multicast addresses (based on the physical link addresses). On a
given link, the following security associations are required if all
Neighbor Discovery traffic is to be secured with IPsec:
1. ICMPv6 packets to the All Nodes multicast address
FF02:0:0:0:0:0:0:1 [2].
2. ICMPv6 packets to the All Routers multicast address
FF02:0:0:0:0:0:0:1 [2].
3. For each node on the network, ICMPv6 packets to the Solicited
Node multicast address FF02:0:0:0:0:1:FFXX:XXXX target='RFC2373'
/>. Note that, in general, there will be multiple such addresses
when there are multiple nodes, but it is also possible that some
of these multicast addresses collide since only 24 bits from the
physical link addresses are used in the multicast address.
4. For each node on the network, ICMPv6 packets to the unicast
address of that node.
Given that such ICMPv6 packets may be sent also from other
sources than the those on the local link, it is necessary to
construct the security policy entries in the following manner:
* Only the addresses of other nodes on the same link can appear
as the source address, along with the Unspecified address
(::).
* Alternatively, only ICMP types related to Neighbor Discovery
(Neighbor Solicitation, Neighbor Advertisement, Router
Solicitation, Router Advertisement, and Redirect) are listed.
However, this requires the IPsec security policy mechanisms to
support ICMP type as a selector in the manner described in
[9].
5. For each node that has multiple unicast addresses, items (3) and
(4) have to be repeated for each address.
These rules result in at most 2 * (N * M + 1) security associations
where N is the number of nodes in the network and M is the number of
addresses each node has. Table 1 below tabulates the number of
security associations required as a function of the number of nodes
in the network:
Arkko, et al. Expires September 1, 2003 [Page 11]
Internet-Draft Manual SAs for ND March 2003
+--------------+-------------+-------------+
| # of Nodes | # of Addrs | # of SAs |
+--------------+-------------+-------------+
| 1 | 1 | 4 |
+--------------+-------------+-------------+
| 1 | 2 | 6 |
+--------------+-------------+-------------+
| 4 | 1 | 10 |
+--------------+-------------+-------------+
| 4 | 2 | 18 |
+--------------+-------------+-------------+
| 10 | 1 | 22 |
+--------------+-------------+-------------+
| 10 | 2 | 42 |
+--------------+-------------+-------------+
| 20 | 1 | 42 |
+--------------+-------------+-------------+
| 20 | 2 | 82 |
+--------------+-------------+-------------+
| 50 | 1 | 102 |
+--------------+-------------+-------------+
| 50 | 2 | 202 |
+--------------+-------------+-------------+
| 100 | 1 | 202 |
+--------------+-------------+-------------+
| 100 | 2 | 402 |
+--------------+-------------+-------------+
| 1000 | 1 | 2002 |
+--------------+-------------+-------------+
| 1000 | 2 | 4002 |
+--------------+-------------+-------------+
The above setup also implies that one knows beforehand the physical
link and IP level addresses of each node on the link, including the
multiple addresses mentioned under (5). Normally, a node may not
necessarily know the addresses itself but they are rather specified
in the set of router advertisements received. These things
complicate the setup. But the complication is similar to the
requirement that the keys can be configured manually for all of these
nodes; it is not possible to provide security and at the same time
allow previously unknown nodes to the system when manual keying is
used.
Note that if the address privacy extension [8] is used for address
autoconfiguration, it may not be possible to know the physical
address identifiers. Even if the hosts could reveal this information
for some time to the future, the network would have to support
multiple addresses for the same node. One possible way to deal with
Arkko, et al. Expires September 1, 2003 [Page 12]
Internet-Draft Manual SAs for ND March 2003
this is to use stable addresses for link local messages and run IPsec
tunnel mode to autoconfigure the temporary identifiers, and then use
those for the end-to-end traffic.
Arkko, et al. Expires September 1, 2003 [Page 13]
Internet-Draft Manual SAs for ND March 2003
7. Security Implications of Neighbor Discovery Messages
In this chapter we discuss the security implications of either
securing or not securing the link local messages. In this analysis
we will make a few alternative assumptions. The first assumption is
that all subsequent communications at a higher level are secured
using e.g. IPsec and IKE. It can be argued that making this
assumption is reasonable since higher level traffic can already very
well be secured using existing mechanisms, and if security is of
interest, these mechanisms should be used. Note that this assumption
has a number of consequences. For instance, being able to redirect a
message flow to an attacker does not really gain any information
about the flow.
In practice we can not always have secure higher layer
communications. First of all, because there is always some traffic
that goes to public servers e.g. on the Internet and it is not
likely that we will have the trust and key infrastructure necessary
to be able to communicate with everyone securely. Secondly, even for
other communications it may be that upper layer security does not
exist for reasons of missing support in the involved nodes, lack of
time to set these up properly, or performance. Therefore, it also
also necessary to study the security implications of the Neighbor
Discovery messages in the case of insecure higher layers.
The second set of alternative assumptions divides the tools the
attacker has available in to two categories. The weak attacker can
do nothing more than eavesdrop other messages and inject forged
messages. The strong attacker can also block some or all messages.
It is interesting to consider these two as separate, because strong
measures such as jamming WLAN reception are likely to be detected and
less likely to be available to large numbers of attackers, whereas
the weak measures are easily available to anyone with standard
hardware and software.
We will use the following attacks to classify the dangers:
o Denial-of-Service. For instance, being able to block all traffic
to and from a node.
o Impersonation; the ability of the attacker to claim that it is the
node at a particular IP address and not the real node.
o Spying; being able to read packets in transit. In general, spying
is always possible for the local traffic unless higher layer
security is in place.
o Man-in-the-middle; being able to read and modify packets in
Arkko, et al. Expires September 1, 2003 [Page 14]
Internet-Draft Manual SAs for ND March 2003
transit. In general, this is always possible on a local link for
a strong attacker if there is no higher layer security.
o Identity selection; being able to have an effect to the IP address
selection of a node.
7.1 Router Discovery
First we deal with the secure higher layer assumption. A weak
attacker can make the network believe there are additional addresses
and prefixes on the link, or that the route towards the Internet is
on another router than it really is. However, since hosts are
required to detect when communication to a destination appears to be
failing [5] they should be able to find the real router sooner or
later. Also, additional address prefixes should not cause any
problems either, except in the case the attacker makes the host
believe that a destination somewhere else is actually on the link.
In this special case the result is a Denial-of-Service attack.
Strong attackers can also hide prefixes and addresses and routers
that really exist on the link. As such, they can perform various
kinds of Denial-of-Service attacks.
In the case of insecure higher layers, even weak attackers can read
and modify traffic contents towards remote destinations, or
impersonate as something they are not. For instance, if the weak
attacker has control over a node outside the local link, he can
tunnel all traffic he receives from himself to this outside node,
resulting in a Man-in-the-Middle attack. The situation may continue
for an extended period of time, not allowing the nodes to find out
the "real" router but diverting all traffic through the attacker. A
strong attacker can perform impersonation on the behalf of any node
on the link by hiding the router advertisement with the correct
prefix, and claiming to be a router towards the impersonated node.
Reading and modification of local traffic is also possible using only
router discovery messages through sending different router discovery
messages to different nodes on the same network.
7.2 Address Resolution
In the secure higher layer situation, weak attackers can cause a
Denial-of-Service by making other nodes on the link believe that the
node is in some other address than it really is on.
Strong attackers can also prevent correct address resolution messages
from being read by others, but the result of this is no worse than
the Denial-of-Service already caused by the weak attacker.
Arkko, et al. Expires September 1, 2003 [Page 15]
Internet-Draft Manual SAs for ND March 2003
In the case of no security at higher layers, both weak and strong
attackers can read traffic destined anywhere as well as impersonate
other nodes and perform Man-in-the-Middle attacks. Even weak
attackers can fake address resolution messages by sending forged
messages right after seeing the correct ones.
7.3 Duplicate Address Detection
Regardless of the higher layer security situation, a weak attacker
can easily forge messages that cause other nodes on the link to
believe their addresses are duplicates. This makes it impossible for
them to communicate using these addresses, causing an all-out
Denial-of-Service situation.
Strong attackers can cause nodes to believe there is no duplicates
when there is one in fact. This will cause several problems later in
the communication, in practice leading to a Denial-of-Service
situation for all or most communication from the nodes. On the other
hand, if there really was a duplicate address situation they would
not have been able to communicate in the first place. Therefore, the
strong attacker can not really cause any more damage than the weak
one.
When stateful address autoconfiguration is used, both weak and strong
attackers can use the duplicate address detection procedure to
artificially cause given addresses to fail; it may be possible to
force a particular address to be selected by repeatedly blocking the
use of certain addresses.
7.4 Address Autoconfiguration
All attacks against the duplicate address detection and router
discovery apply also here.
7.5 Neighbor Reachability Detection
The weak attacker can only make a node believe that another node is
up when in reality it is not. This can be done by sending a forged
answer to a reachability detection message. This causes a weak form
of a Denial-of-Service attack; the communications would not have
succeeded anyway but now one node thinks that it can communicate with
the other node. Depending on what kind of communications is in
question, this may imply either nothing or delay the attempt of the
node to switch to an alternative communications partner.
A strong attacker can also cause the reverse, i.e. make a node
believe that another node is down. This results in a full
Denial-of-Service attack.
Arkko, et al. Expires September 1, 2003 [Page 16]
Internet-Draft Manual SAs for ND March 2003
7.6 Redirect
At worst in the secure higher layer case, the attacker succeeds in a
Denial-of-Service attack by either constructing a forged Redirect
message or blocking a real Redirect message. The latter action is
only available to a strong attacker.
In the case of insecure higher layer, any attacker can now reroute
non-local traffic to itself, presenting additional opportunities for
spying, impersonation and Man-in-the-Middle attacks.
7.7 Summary
The following table summarizes the security effects of the link local
control functions under different assumption. In the table we have
listed the additional dangers resulting e.g. from an insecure
address resolution function. The table does not include dangers
already inherent in the network otherwise, such as the obvious
ability to read all traffic given insecure higher layer protocols.
+-----------+---------------------------+---------------------------+
| | Secure higher layer | Insecure higher layer |
| Control +-------------+-------------+-------------+-------------+
| Function | Weak | Strong | Weak | Strong |
| | Attacker | Attacker | Attacker | Attacker |
+-----------+-------------+-------------+-------------+-------------+
| Router | DoS(R) | DoS | DoS(R),Spy- | DoS, Spy, |
| Discovery | | | (R), Imp(R),| Imp, |
| | | | MitM(R) | MitM |
+-----------+---------------------------+---------------------------+
| Address | DoS | DoS | DoS, Spy, | DoS, Spy, |
| Resolution| | | Imp, MitM | Imp, MitM |
| | | | | |
+-----------+---------------------------+---------------------------+
| Duplicate | DoS, | DoS, | DoS, | DoS, |
| Address | IDSel(Sf) | IDSel(Sf) | IDSel(Sf) | IDSel(Sf) |
| Detection | | | | |
+-----------+---------------------------+---------------------------+
| Address | DoS, | DoS, | DoS, | DoS, |
| Autoconfi-| IDSel(Sf) | IDSel(Sf) | IDSel(Sf) | IDSel(Sf) |
| guration | | | | |
+-----------+---------------------------+---------------------------+
| Neighbor | DoS(Pd) | DoS | DoS(Pd) | DoS |
| Reachab. | | | | |
| Detection | | | | |
+-----------+---------------------------+---------------------------+
| Redirect | DoS(R) | DoS(R) | DoS(R),Spy- | DoS(R),Spy- |
| | | | (R), Imp(R),| (R), Imp(R),|
Arkko, et al. Expires September 1, 2003 [Page 17]
Internet-Draft Manual SAs for ND March 2003
| | | | MitM(R) | MitM(R) |
+-----------+---------------------------+---------------------------+
Notation:
DoS = Denial-of-Service
Spy = Listening in
Imp = Impersonation
MitM = Man-in-the-Middle
IDSel = Identity selection (forcing a particular IP address on a
host)
(R) = This attack is only possible for traffic destined to hosts
outside the local link
(Sf) = This attack is possible only with stateful address
autoconfiguration
(Pd) = Weak form; the attack only succeeds in hiding the fact that
the other peer is down
These results can be compared to the original situation for payload
packets. In there, weak attackers cannot perform any attacks if
there is security at higher layers, but strong attackers succeed in
Denial-of-Service. If there is no security at higher layers, both
weak and strong attackers also succeed in Denial-of-Service and can
perform Spying, Impersonation and Man-in-the-Middle attacks. In
conclusion, the additional dangers resulting from the insecure
control traffic are the following:
Denial-of-Service for weak attackers under higher layer security.
Man-in-the-Middle, Spying, and Impersonation for all attackers
under no higher layer security.
Identity selection in all situations, if stateful address
autoconfiguration is used.
Arkko, et al. Expires September 1, 2003 [Page 18]
Internet-Draft Manual SAs for ND March 2003
8. Approaches for Reducing Configuration Effort
If the Neighbor Discovery messages need to be protected in a given
environment, a number of security associations is needed. One may
question the feasibility of configuring very large networks in this
manner. There are possible remedies for this situation. These
include the following:
o Management tools exist at a higher level to create security
associations for the link local traffic in an easy manner for the
user, but several security associations would still be used on the
wire. This has the effect of removing the configuration problems
for the user while still being able to use existing
implementations as is. However, resources such as memory must
still be reserved for the security associations.
o A well-known SPI number could be reserved from the
IANA-administered range (0-255) to stand for Neighbor Discovery
protection. In conjunction with this, the rules for processing
incoming IPsec packets would have to be changed in order to ignore
the destination address for this special SPI. This has
implications to existing implementations, and potentially even
hardware-based packet matching and/or security association search.
A fixed set of security association parameters must be used
throughout the local network. Obviously, replay protection can
not be employed as several nodes use the same security
associations. It might be possible to use more than SPI number to
enable the simultaneous use of several security associations
during a manual key change period (such changes would typically be
long-lasting since mobile nodes might easily be away from their
home LAN for weeks).
This approach has the advantage that it would enable the use of
the address privacy extension [8] as the security associations
could be configured without knowledge of the actual physical
addresses and/or randomly generated temporary addresses.
o In conjunction with the above, an automatic change procedure could
be designed to force the nodes to regularly update the local
security association from a central server. One of the routers on
the link could act as the server.
o A unicast key management protocol and a group key management
protocol would be used to create security associations for the
Neighbor Discovery traffic. It is not clear, however, if this is
feasible. Reference [11] already describes how IKE runs into
chicken and egg problems in this area; and this is not simply a
Arkko, et al. Expires September 1, 2003 [Page 19]
Internet-Draft Manual SAs for ND March 2003
problem of IKE but rather a fundamental limitation in
communications architecture. Likewise, it is likely that
multicast key management schemes such as those worked by the
multicast key management WG in the IETF will run into similar
problems.
o A specific key management mechanism could be developed for
Neighbor Discovery. Such a protocol would run as a part of the
ICMPv6 messages. This seems to be a possible approach and ideas
along this approach have been presented [12] and [9]. The
protocol would have to handle both unicast and multicast key
management.
Arkko, et al. Expires September 1, 2003 [Page 20]
Internet-Draft Manual SAs for ND March 2003
9. Conclusions
When payload packets are cryptographically protected,
Denial-of-Service is the most serious attack ``weak attackers'' are
able to mount on Neighbor Discovery. When these messages are
protected with IPsec as well, in the manner described in this
document, these attacks can be prevented. Against a ``strong
attacker'', Denial-of-Service can not be prevented, for instance the
whole radio link can be jammed. However, such attacks are perhaps
easier to detect than IP-layer attacks.
Without security for payload packets, the situation is more serious
and even weak attackers can perform various kinds of attacks,
including Impersonation and Spying. This is particularly dangerous
as it is likely that at least some traffic on the Internet will
remain unprotected well into the future.
The Denial-of-Service and other attacks performed by outsiders can be
solved with the use of IPsec. In order to use IPsec, the security
associations must be configured manually as described in this
document. A fair amount of configuration work is involved, and this
scheme is generally possible only on a limited scale. A more
scalable method which requires IPsec extensions is described in [9].
This work does not consider the authorization problems in Neighbor
Discovery. These are treated more in depth in [9] and [10]. The
Neighbor Discovery protocol provides no mechanism to determine, which
neighbors are authorized to send a particular type of message, e.g a
Router Advertisement. The current set of IPsec policy selectors do
not allow us to define which nodes are allowed to send which
particular Neighbor Discovery messages. Furthermore, even if a
particular node is authorized to send Neighbor Advertisements, it is
usually authorized to send them only on its own behalf. Thus, the
presented mechanisms can not protect against attacks from the
legitimate hosts in the same manner as is possible in [9].
Arkko, et al. Expires September 1, 2003 [Page 21]
Internet-Draft Manual SAs for ND March 2003
Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[2] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 2373, July 1998.
[3] Kent, S. and R. Atkinson, "Security Architecture for the
Internet Protocol", RFC 2401, November 1998.
[4] Harkins, D. and D. Carrel, "The Internet Key Exchange (IKE)",
RFC 2409, November 1998.
[5] Narten, T., Nordmark, E. and W. Simpson, "Neighbor Discovery for
IP Version 6 (IPv6)", RFC 2461, December 1998.
[6] Thomson, S. and T. Narten, "IPv6 Stateless Address
Autoconfiguration", RFC 2462, December 1998.
[7] Conta, A. and S. Deering, "Internet Control Message Protocol
(ICMPv6) for the Internet Protocol Version 6 (IPv6)
Specification", RFC 2463, December 1998.
[8] Narten, T. and R. Draves, "Privacy Extensions for Stateless
Address Autoconfiguration in IPv6", RFC 3041, January 2001.
Arkko, et al. Expires September 1, 2003 [Page 22]
Internet-Draft Manual SAs for ND March 2003
Informative References
[9] Arkko, J., Kempf, J., Sommerfeld, B. and B. Zill, "SEcure
Neighbor Discovery (SEND) Protocol",
draft-ietf-send-ipsec-00.txt (work in progress), February 2003.
[10] Nikander, P., "IPv6 Neighbor Discovery trust models and
threats", draft-ietf-send-psreq-00 (work in progress), October
2002.
[11] Arkko, J., "Effects of ICMPv6 on IKE and IPsec Policies",
draft-arkko-icmpv6-ike-effects-01 (work in progress), June
2002.
[12] Nikander, P., "Denial-of-Service, Address Ownership, and Early
Authentication in the IPv6 World", Proceedings of the Cambridge
Security Protocols Workshop, April 2001.
Authors' Addresses
Jari Arkko
Ericsson
Jorvas 02420
Finland
EMail: jari.arkko@ericsson.com
Pekka Nikander
Ericsson
Jorvas 02420
Finland
EMail: Pekka.Nikander@nomadiclab.com
Tero Kivinen
SSH Communications Security
Fredrikinkatu 42
Helsinki 00100
Finland
EMail: kivinen@ssh.fi
Arkko, et al. Expires September 1, 2003 [Page 23]
Internet-Draft Manual SAs for ND March 2003
Markku Rossi
SSH Communications Security
Fredrikinkatu 42
Helsinki 00100
Finland
EMail: mtr@ssh.fi
Arkko, et al. Expires September 1, 2003 [Page 24]
Internet-Draft Manual SAs for ND March 2003
Appendix A. Acknowledgements
The authors would like that Erik Nordmark, James Kempf, Bill
Sommerfeld, Gabriel Montenegro, Tuomas Aura, Mike Roe, and others for
interesting discussions in this problem space.
Arkko, et al. Expires September 1, 2003 [Page 25]
Internet-Draft Manual SAs for ND March 2003
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances of
licenses to be made available, or the result of an attempt made to
obtain a general license or permission for the use of such
proprietary rights by implementors or users of this specification can
be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
Full Copyright Statement
Copyright (C) The Internet Society (2003). 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 assignees.
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
Arkko, et al. Expires September 1, 2003 [Page 26]
Internet-Draft Manual SAs for ND March 2003
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Arkko, et al. Expires September 1, 2003 [Page 27]