draft-ietf-v6ops-security-overview-02.txt   draft-ietf-v6ops-security-overview-03.txt 
IPv6 Operations E. Davies IPv6 Operations E. Davies
Internet-Draft Consultant Internet-Draft Consultant
Expires: January 19, 2006 S. Krishnan Expires: April 9, 2006 S. Krishnan
Ericsson Ericsson
P. Savola P. Savola
CSC/Funet CSC/Funet
July 18, 2005 October 6, 2005
IPv6 Transition/Co-existence Security Considerations IPv6 Transition/Co-existence Security Considerations
draft-ietf-v6ops-security-overview-02.txt draft-ietf-v6ops-security-overview-03.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 37 skipping to change at page 1, line 37
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on January 19, 2006. This Internet-Draft will expire on April 9, 2006.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2005).
Abstract Abstract
The transition from a pure IPv4 network to a network where IPv4 and The transition from a pure IPv4 network to a network where IPv4 and
IPv6 co-exist brings a number of extra security considerations that IPv6 co-exist brings a number of extra security considerations that
need to be taken into account when deploying IPv6 and operating the need to be taken into account when deploying IPv6 and operating the
dual-protocol network and the associated transition mechanisms. This dual-protocol network and the associated transition mechanisms. This
document attempts to give an overview of the various issues grouped document attempts to give an overview of the various issues grouped
into three categories: into three categories:
o issues due to the IPv6 protocol itself, o issues due to the IPv6 protocol itself,
o issues due to transition mechanisms, and o issues due to transition mechanisms, and
o issues due to IPv6 deployment. o issues due to IPv6 deployment.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Issues Due to IPv6 Protocol . . . . . . . . . . . . . . . . 4 2. Issues Due to IPv6 Protocol . . . . . . . . . . . . . . . . . 4
2.1 IPv6 Protocol-specific Issues . . . . . . . . . . . . . . 4 2.1. IPv6 Protocol-specific Issues . . . . . . . . . . . . . . 4
2.1.1 Routing Headers and Hosts . . . . . . . . . . . . . . 4 2.1.1. Routing Headers and Hosts . . . . . . . . . . . . . . 4
2.1.2 Routing Headers for Mobile IPv6 and Other Purposes . . 5 2.1.2. Routing Headers for Mobile IPv6 and Other Purposes . . 5
2.1.3 Site-scope Multicast Addresses . . . . . . . . . . . . 5 2.1.3. Site-scope Multicast Addresses . . . . . . . . . . . . 5
2.1.4 ICMPv6 and Multicast . . . . . . . . . . . . . . . . . 6 2.1.4. ICMPv6 and Multicast . . . . . . . . . . . . . . . . . 6
2.1.5 Anycast Traffic Identification and Security . . . . . 7 2.1.5. Anycast Traffic Identification and Security . . . . . 7
2.1.6 Address Privacy Extensions Interact with DDoS 2.1.6. Address Privacy Extensions Interact with DDoS
Defenses . . . . . . . . . . . . . . . . . . . . . . . 7 Defenses . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.7 Dynamic DNS: Stateless Address Auto-Configuration, 2.1.7. Dynamic DNS: Stateless Address Auto-Configuration,
Privacy Extensions and SEND . . . . . . . . . . . . . 8 Privacy Extensions and SEND . . . . . . . . . . . . . 8
2.1.8 Extension Headers . . . . . . . . . . . . . . . . . . 8 2.1.8. Extension Headers . . . . . . . . . . . . . . . . . . 8
2.1.9 Fragmentation: Reassembly and Deep Packet Inspection . 10 2.1.9. Fragmentation: Reassembly and Deep Packet
2.1.10 Fragmentation Related DoS Attacks . . . . . . . . . 11 Inspection . . . . . . . . . . . . . . . . . . . . . . 11
2.1.11 Link-Local Addresses and Securing Neighbor 2.1.10. Fragmentation Related DoS Attacks . . . . . . . . . . 11
Discovery . . . . . . . . . . . . . . . . . . . . . 12 2.1.11. Link-Local Addresses and Securing Neighbor
2.1.12 Mobile IPv6 . . . . . . . . . . . . . . . . . . . . 13 Discovery . . . . . . . . . . . . . . . . . . . . . . 12
2.2 IPv4-mapped IPv6 Addresses . . . . . . . . . . . . . . . . 14 2.1.12. Securing Router Advertisements . . . . . . . . . . . . 13
2.3 Increased End-to-End Transparency . . . . . . . . . . . . 15 2.1.13. Host to Router Load Sharing . . . . . . . . . . . . . 13
2.3.1 IPv6 Networks without NATs . . . . . . . . . . . . . . 15 2.1.14. Mobile IPv6 . . . . . . . . . . . . . . . . . . . . . 14
2.3.2 Enterprise Network Security Model for IPv6 . . . . . . 15 2.2. IPv4-mapped IPv6 Addresses . . . . . . . . . . . . . . . . 14
3. Issues Due to Transition Mechanisms . . . . . . . . . . . . 17 2.3. Increased End-to-End Transparency . . . . . . . . . . . . 15
3.1 IPv6 Transition/Co-existence Mechanism-specific Issues . . 17 2.3.1. IPv6 Networks without NATs . . . . . . . . . . . . . . 15
3.2 Automatic Tunneling and Relays . . . . . . . . . . . . . . 17 2.3.2. Enterprise Network Security Model for IPv6 . . . . . . 16
3.3 Tunneling IPv6 Through IPv4 Networks may Break IPv4 3. Issues Due to Transition Mechanisms . . . . . . . . . . . . . 17
Network Security Assumptions . . . . . . . . . . . . . . . 18 3.1. IPv6 Transition/Co-existence Mechanism-specific Issues . . 17
4. Issues Due to IPv6 Deployment . . . . . . . . . . . . . . . 19 3.2. Automatic Tunneling and Relays . . . . . . . . . . . . . . 18
4.1 IPv6 Service Piloting Done Insecurely . . . . . . . . . . 19 3.3. Tunneling IPv6 Through IPv4 Networks May Break IPv4
4.2 DNS Server Problems . . . . . . . . . . . . . . . . . . . 21 Network Security Assumptions . . . . . . . . . . . . . . . 19
4.3 Addressing Schemes and Securing Routers . . . . . . . . . 21 4. Issues Due to IPv6 Deployment . . . . . . . . . . . . . . . . 20
4.4 Consequences of Multiple Addresses in IPv6 . . . . . . . . 21 4.1. Avoiding the Trap of Insecure IPv6 Service Piloting . . . 20
4.5 Deploying ICMPv6 . . . . . . . . . . . . . . . . . . . . . 22 4.2. DNS Server Problems . . . . . . . . . . . . . . . . . . . 22
4.5.1 Problems Resulting from ICMPv6 Transparency . . . . . 22 4.3. Addressing Schemes and Securing Routers . . . . . . . . . 22
4.6 IPsec Transport Mode . . . . . . . . . . . . . . . . . . . 23 4.4. Consequences of Multiple Addresses in IPv6 . . . . . . . . 22
4.7 Reduced Functionality Devices . . . . . . . . . . . . . . 23 4.5. Deploying ICMPv6 . . . . . . . . . . . . . . . . . . . . . 23
4.8 Operational Factors when Enabling IPv6 in the Network . . 23 4.5.1. Problems Resulting from ICMPv6 Transparency . . . . . 24
4.9 Ingress Filtering Issues Due to Privacy Addresses . . . . 24 4.6. IPsec Transport Mode . . . . . . . . . . . . . . . . . . . 24
4.10 Security Issues Due to ND Proxies . . . . . . . . . . . 25 4.7. Reduced Functionality Devices . . . . . . . . . . . . . . 25
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . 25 4.8. Operational Factors when Enabling IPv6 in the Network . . 25
6. Security Considerations . . . . . . . . . . . . . . . . . . 25 4.9. Ingress Filtering Issues Due to Privacy Addresses . . . . 26
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 25 4.10. Security Issues Due to ND Proxies . . . . . . . . . . . . 26
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26
8.1 Normative References . . . . . . . . . . . . . . . . . . . 25 6. Security Considerations . . . . . . . . . . . . . . . . . . . 27
8.2 Informative References . . . . . . . . . . . . . . . . . . 27 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 27
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 30 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 27
A. IPv6 Probing/Mapping Considerations . . . . . . . . . . . . 30 8.1. Normative References . . . . . . . . . . . . . . . . . . . 27
B. IPv6 Privacy Considerations . . . . . . . . . . . . . . . . 31 8.2. Informative References . . . . . . . . . . . . . . . . . . 28
B.1 Exposing MAC Addresses . . . . . . . . . . . . . . . . . . 31 Appendix A. IPv6 Probing/Mapping Considerations . . . . . . . . . 32
B.2 Exposing Multiple Devices . . . . . . . . . . . . . . . . 32 Appendix B. IPv6 Privacy Considerations . . . . . . . . . . . . . 33
B.3 Exposing the Site by a Stable Prefix . . . . . . . . . . . 32 B.1. Exposing MAC Addresses . . . . . . . . . . . . . . . . . . 33
Intellectual Property and Copyright Statements . . . . . . . 33 B.2. Exposing Multiple Devices . . . . . . . . . . . . . . . . 33
B.3. Exposing the Site by a Stable Prefix . . . . . . . . . . . 34
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 35
Intellectual Property and Copyright Statements . . . . . . . . . . 36
1. Introduction 1. Introduction
The transition from a pure IPv4 network to a network where IPv4 and The transition from a pure IPv4 network to a network where IPv4 and
IPv6 co-exist brings a number of extra security considerations that IPv6 co-exist brings a number of extra security considerations that
need to be taken into account when deploying IPv6 and operating the need to be taken into account when deploying IPv6 and operating the
dual-protocol network with its associated transition mechanisms. dual-protocol network with its associated transition mechanisms.
This document attempts to give an overview of the various issues This document attempts to give an overview of the various issues
grouped into three categories: grouped into three categories:
o issues due to the IPv6 protocol itself, o issues due to the IPv6 protocol itself,
skipping to change at page 4, line 29 skipping to change at page 4, line 29
be operated in parallel with IPv4 [I-D.savola-v6ops-transarch]. be operated in parallel with IPv4 [I-D.savola-v6ops-transarch].
This document also describes two matters which have been wrongly This document also describes two matters which have been wrongly
identified as potential security concerns for IPv6 in the past and identified as potential security concerns for IPv6 in the past and
explains why they are unlikely to cause problems: considerations explains why they are unlikely to cause problems: considerations
about probing/mapping IPv6 addresses (Appendix A), and considerations about probing/mapping IPv6 addresses (Appendix A), and considerations
with respect to privacy in IPv6 (Appendix B). with respect to privacy in IPv6 (Appendix B).
2. Issues Due to IPv6 Protocol 2. Issues Due to IPv6 Protocol
2.1 IPv6 Protocol-specific Issues 2.1. IPv6 Protocol-specific Issues
There are significant differences between the features of IPv6 and There are significant differences between the features of IPv6 and
IPv4: some of these specification changes may result in potential IPv4: some of these specification changes may result in potential
security issues. Several of these issues have been discussed in security issues. Several of these issues have been discussed in
separate drafts but are summarized here to avoid normative references separate drafts but are summarized here to avoid normative references
which may not become RFCs. The following specification-related which may not become RFCs. The following specification-related
problems have been identified, but this is not necessarily a complete problems have been identified, but this is not necessarily a complete
list: list:
2.1.1 Routing Headers and Hosts 2.1.1. Routing Headers and Hosts
All IPv6 nodes must be able to process Routing Headers [RFC2460]. All IPv6 nodes must be able to process Routing Headers [RFC2460].
This RFC can be interpreted, although it is not clearly stated, to This RFC can be interpreted, although it is not clearly stated, to
mean that all nodes (including hosts) must have this processing mean that all nodes (including hosts) must have this processing
enabled. This can result in hosts forwarding received traffic if enabled. This can result in hosts forwarding received traffic if
there are segments left in the Routing Header when it arrives at the there are segments left in the Routing Header when it arrives at the
host. host.
A number of potential security issues associated with this behavior A number of potential security issues associated with this behavior
were documented in [I-D.savola-ipv6-rh-hosts]. Some of these issues were documented in [I-D.savola-ipv6-rh-hosts]. Some of these issues
skipping to change at page 5, line 18 skipping to change at page 5, line 18
routing header containing a 'forbidden' address. If the publicly routing header containing a 'forbidden' address. If the publicly
accessible host is processing routing headers it will forward the accessible host is processing routing headers it will forward the
packet to the destination address in the routing header which packet to the destination address in the routing header which
would have been forbidden by the packet filters if the address had would have been forbidden by the packet filters if the address had
been in the destination field when the packet was checked. been in the destination field when the packet was checked.
o If the packet source address in the previous case can be spoofed, o If the packet source address in the previous case can be spoofed,
any host could be used to mediate an anonymous reflection denial- any host could be used to mediate an anonymous reflection denial-
of-service attack by having any publicly accessible host redirect of-service attack by having any publicly accessible host redirect
the attack packets. the attack packets.
2.1.2 Routing Headers for Mobile IPv6 and Other Purposes 2.1.2. Routing Headers for Mobile IPv6 and Other Purposes
In addition to the basic Routing Header (Type 0), which is intended In addition to the basic Routing Header (Type 0), which is intended
to influence the trajectory of a packet through a network by to influence the trajectory of a packet through a network by
specifying a sequence of router 'waypoints', Routing Header (Type 2) specifying a sequence of router 'waypoints', Routing Header (Type 2)
has been defined as part of the Mobile IPv6 specifications in has been defined as part of the Mobile IPv6 specifications in
[RFC3775]. The Type 2 Routing Header is intended for use by hosts to [RFC3775]. The Type 2 Routing Header is intended for use by hosts to
handle 'interface local' forwarding needed when packets are sent to handle 'interface local' forwarding needed when packets are sent to
the care-of address of a mobile node which is away from its home the care-of address of a mobile node which is away from its home
address. address.
skipping to change at page 5, line 42 skipping to change at page 5, line 42
hosts must process Type 2 Routing Headers to support Mobile IPv6 but hosts must process Type 2 Routing Headers to support Mobile IPv6 but
routers should not: to avoid the issues in Section 2.1.1 it may be routers should not: to avoid the issues in Section 2.1.1 it may be
desirable to forbid or limit the processing of Type 0 Routing Headers desirable to forbid or limit the processing of Type 0 Routing Headers
in hosts and some routers. in hosts and some routers.
Routing Headers are an extremely powerful and general capability. Routing Headers are an extremely powerful and general capability.
Alternative future uses of Routing Headers need to be carefully Alternative future uses of Routing Headers need to be carefully
assessed to ensure that they do not open new avenues of attack that assessed to ensure that they do not open new avenues of attack that
can be exploited. can be exploited.
2.1.3 Site-scope Multicast Addresses 2.1.3. Site-scope Multicast Addresses
IPv6 supports multicast addresses with site scope which can IPv6 supports multicast addresses with site scope which can
potentially allow an attacker to identify certain important resources potentially allow an attacker to identify certain important resources
on the site if misused. on the site if misused.
Particular examples are the 'all routers' (FF05::2) and 'all DHCP Particular examples are the 'all routers' (FF05::2) and 'all Dynamic
servers' (FF05::1:3) addresses defined in [RFC2375]: an attacker that Host Configuration Protocol (DHCP) servers' (FF05::1:3) addresses
is able to infiltrate a message destined for these addresses on to defined in [RFC2375]: an attacker that is able to infiltrate a
the site will potentially receive in return information identifying message destined for these addresses on to the site will potentially
key resources on the site. This information can then be the target receive in return information identifying key resources on the site.
of directed attacks ranging from simple flooding to more specific This information can then be the target of directed attacks ranging
mechanisms designed to subvert the device. from simple flooding to more specific mechanisms designed to subvert
the device.
Some of these addresses have current legitimate uses within a site. Some of these addresses have current legitimate uses within a site.
The risk can be minimized by ensuring that all firewalls and site The risk can be minimized by ensuring that all firewalls and site
boundary routers are configured to drop packets with site scope boundary routers are configured to drop packets with site scope
destination addresses. Also nodes should not join multicast groups destination addresses. Also nodes should not join multicast groups
for which there is no legitimate use on the site and site routers for which there is no legitimate use on the site and site routers
should be configured to drop packets directed to these unused should be configured to drop packets directed to these unused
addresses. addresses.
2.1.4 ICMPv6 and Multicast 2.1.4. ICMPv6 and Multicast
It is possible to launch a denial-of-service (DoS) attack using IPv6 It is possible to launch a denial-of-service (DoS) attack using IPv6
which could be amplified by the multicast infrastructure. which could be amplified by the multicast infrastructure.
Unlike ICMP for IPv4, ICMPv6 [RFC2463] allows error notification Unlike ICMP for IPv4, ICMPv6 [RFC2463] allows error notification
responses to be sent when certain unprocessable packets are sent to responses to be sent when certain unprocessable packets are sent to
multicast addresses. multicast addresses.
The cases in which responses are sent are: The cases in which responses are sent are:
o The received packet is longer than the next link MTU: 'Packet Too o The received packet is longer than the next link MTU: 'Packet Too
skipping to change at page 6, line 44 skipping to change at page 6, line 46
If an attacker can craft a suitable packet sent to a multicast If an attacker can craft a suitable packet sent to a multicast
destination, it may be possible to elicit multiple responses directed destination, it may be possible to elicit multiple responses directed
at the victim (the spoofed source of the multicast packet). On the at the victim (the spoofed source of the multicast packet). On the
other hand, the use of 'reverse path forwarding' checks to eliminate other hand, the use of 'reverse path forwarding' checks to eliminate
loops in multicast forwarding automatically limits the range of loops in multicast forwarding automatically limits the range of
addresses which can be spoofed. addresses which can be spoofed.
In practice an attack using oversize packets is unlikely to cause In practice an attack using oversize packets is unlikely to cause
much amplification unless the attacker is able to carefully tune the much amplification unless the attacker is able to carefully tune the
packet size to exploit a network with smaller MTU in the edge than packet size to exploit a network with smaller MTU in the edge than
the core. Similarly a packet with an hop-by-hop option would be the core. Similarly a packet with an unrecognized hop-by-hop option
dropped by the first router. However a packet with an destination would be dropped by the first router. However a packet with an
option could generate multiple responses. unrecognized destination option could generate multiple responses.
In addition to amplification, this kind of attack would potentially In addition to amplification, this kind of attack would potentially
consume large amounts of forwarding state resources in routers on consume large amounts of forwarding state resources in routers on
multicast-enabled networks. These attacks are discussed in more multicast-enabled networks. These attacks are discussed in more
detail in [I-D.savola-v6ops-firewalling]. detail in [I-D.savola-v6ops-firewalling].
2.1.5 Anycast Traffic Identification and Security 2.1.5. Anycast Traffic Identification and Security
IPv6 introduces the notion of anycast addresses and services. IPv6 introduces the notion of anycast addresses and services.
Originally the IPv6 standards disallowed using an anycast address as Originally the IPv6 standards disallowed using an anycast address as
the source address of a packet. Responses from an anycast server the source address of a packet. Responses from an anycast server
would therefore supply a unicast address for the responding server. would therefore supply a unicast address for the responding server.
To avoid exposing knowledge about the internal structure of the To avoid exposing knowledge about the internal structure of the
network, it is recommended that anycast servers now take advantage of network, it is recommended that anycast servers now take advantage of
the ability to return responses with the anycast address as the the ability to return responses with the anycast address as the
source address if possible. source address if possible.
skipping to change at page 7, line 35 skipping to change at page 7, line 37
One particular class of anycast addresses that should be given One particular class of anycast addresses that should be given
special attention is the set of Subnet-Router anycast addresses special attention is the set of Subnet-Router anycast addresses
defined in The IPv6 Addressing Architecture [RFC3513]. All routers defined in The IPv6 Addressing Architecture [RFC3513]. All routers
are required to support these addresses for all subnets for which are required to support these addresses for all subnets for which
they have interfaces. For most subnets using global unicast they have interfaces. For most subnets using global unicast
addresses, filtering anycast requests to these addresses can be addresses, filtering anycast requests to these addresses can be
achieved by dropping packets with the lower 64 bits (the Interface achieved by dropping packets with the lower 64 bits (the Interface
Identifier) set to all zeroes. Identifier) set to all zeroes.
2.1.6 Address Privacy Extensions Interact with DDoS Defenses 2.1.6. Address Privacy Extensions Interact with DDoS Defenses
The purpose of the privacy extensions for stateless address auto- The purpose of the privacy extensions for stateless address auto-
configuration [RFC3041][I-D.ietf-ipv6-privacy-addrs-v2] is to change configuration [RFC3041][I-D.ietf-ipv6-privacy-addrs-v2] is to change
the interface identifier (and hence the global scope addresses the interface identifier (and hence the global scope addresses
generated from it) from time to time. By varying the addresses used, generated from it) from time to time. By varying the addresses used,
eavesdroppers and other information collectors find it more difficult eavesdroppers and other information collectors find it more difficult
to identify which transactions actually relate to a specific node. to identify which transactions actually relate to a specific node.
A security issue may result from this if the frequency of node A security issue may result from this if the frequency of node
address change is sufficiently great to achieve the intended aim of address change is sufficiently great to achieve the intended aim of
the privacy extensions: with a relatively high rate of change, the the privacy extensions: with a relatively high rate of change, the
observed behavior of the node could look very like that of a observed behavior of the node could look very like that of a
compromised node which was the source of a distributed denial of compromised node which was the source of a distributed denial of
service (DDoS). It would thus be difficult to for any future service (DDoS). It would thus be difficult for any future defenses
defenses against DDoS attacks to distinguish between a high rate of against DDoS attacks to distinguish between a high rate of change of
change of addresses resulting from genuine use of the privacy addresses resulting from genuine use of the privacy extensions and a
extensions and a compromised node being used as the source of a DDoS compromised node being used as the source of a DDoS with 'in-prefix'
with 'in-prefix' spoofed source addresses as described in spoofed source addresses as described in [I-D.dupont-ipv6-
[I-D.dupont-ipv6-rfc3041harmful]. rfc3041harmful].
Even if a node is well behaved, the change in the address could make Even if a node is well behaved, the change in the address could make
it harder for a security administrator to define a policy rule (e.g. it harder for a security administrator to define a policy rule (e.g.
access control list) that takes into account a specific node. access control list) that takes into account a specific node.
2.1.7 Dynamic DNS: Stateless Address Auto-Configuration, Privacy 2.1.7. Dynamic DNS: Stateless Address Auto-Configuration, Privacy
Extensions and SEND Extensions and SEND
The introduction of Stateless Address Auto-Configuration (SLAAC) The introduction of Stateless Address Auto-Configuration (SLAAC)
[RFC2462] with IPv6 provides an additional challenge to the security [RFC2462] with IPv6 provides an additional challenge to the security
of Dynamic DNS (DDNS). With manual addressing or the use of DHCP, of Dynamic DNS (DDNS). With manual addressing or the use of DHCP,
the number of security associations that need to be maintained to the number of security associations that need to be maintained to
secure access to the DNS server is limited, assuming any necessary secure access to the DNS server is limited, assuming any necessary
updates are carried out by the DHCP server. This is true equally for updates are carried out by the DHCP server. This is true equally for
IPv4 and IPv6. IPv4 and IPv6.
skipping to change at page 8, line 43 skipping to change at page 8, line 46
update the reverse DNS records so that reverse routability checks can update the reverse DNS records so that reverse routability checks can
be carried out. If the rate of change needed to achieve real privacy be carried out. If the rate of change needed to achieve real privacy
has to be increased as is mentioned in Section 2.1.6 the update rate has to be increased as is mentioned in Section 2.1.6 the update rate
for DDNS may be excessive. for DDNS may be excessive.
Similarly, the cryptographically generated addresses used by SEND Similarly, the cryptographically generated addresses used by SEND
[RFC3971] are expected to be periodically regenerated in line with [RFC3971] are expected to be periodically regenerated in line with
recommendations for maximum key lifetimes. This regeneration could recommendations for maximum key lifetimes. This regeneration could
also impose a significant extra load on DDNS. also impose a significant extra load on DDNS.
2.1.8 Extension Headers 2.1.8. Extension Headers
A number of issues relating to the specification of IPv6 Extension A number of issues relating to the specification of IPv6 Extension
headers have been identified. Several of these are discussed in headers have been identified. Several of these are discussed in
[I-D.savola-v6ops-firewalling]. [I-D.savola-v6ops-firewalling].
2.1.8.1 Processing Extension Headers in Middleboxes 2.1.8.1. Processing Extension Headers in Middleboxes
In IPv4 deep packet inspection techniques are used to implement In IPv4 deep packet inspection techniques are used to implement
policing and filtering both as part of routers and in middleboxes policing and filtering both as part of routers and in middleboxes
such as firewalls. Fully extending these techniques to IPv6 would such as firewalls. Fully extending these techniques to IPv6 would
require inspection of all the extension headers in a packet. This is require inspection of all the extension headers in a packet. This is
essential to ensure that policy constraints on the use of certain essential to ensure that policy constraints on the use of certain
headers and options are enforced and to remove, at the earliest headers and options are enforced and to remove, at the earliest
opportunity, packets containing potentially damaging unknown options. opportunity, packets containing potentially damaging unknown options.
This requirement appears to conflict with Section 4 of the IPv6 This requirement appears to conflict with Section 4 of the IPv6
skipping to change at page 9, line 32 skipping to change at page 9, line 36
it does not recognize. If the rules above are followed slavishly, it it does not recognize. If the rules above are followed slavishly, it
is not (or may not be) legitimate for the intermediate node to is not (or may not be) legitimate for the intermediate node to
discard the packet because it should not be processing those headers discard the packet because it should not be processing those headers
or options. or options.
[RFC2460] therefore does not appear to take account of the behavior [RFC2460] therefore does not appear to take account of the behavior
of middleboxes and other non-final destinations which may be of middleboxes and other non-final destinations which may be
inspecting the packet, and thereby potentially limits the security inspecting the packet, and thereby potentially limits the security
protection of these boxes. protection of these boxes.
2.1.8.2 Processing Extension Header Chains 2.1.8.2. Processing Extension Header Chains
There is a further problem for middleboxes that want to examine the There is a further problem for middleboxes that want to examine the
transport headers which are located at the end of the IPv6 header transport headers which are located at the end of the IPv6 header
chain. In order to locate the transport header or other protocol chain. In order to locate the transport header or other protocol
data unit, the node has to parse the header chain. data unit, the node has to parse the header chain.
The IPv6 specification [RFC2460] does not mandate the use of the The IPv6 specification [RFC2460] does not mandate the use of the
Type-Length-Value format with a fixed layout for the start of each Type-Length-Value format with a fixed layout for the start of each
header although it is used for the majority of headers currently header although it is used for the majority of headers currently
defined. (Only the Type field is guaranteed in size and offset). defined. (Only the Type field is guaranteed in size and offset).
skipping to change at page 10, line 17 skipping to change at page 10, line 19
practice, many firewalls reconstruct fragmented packets before practice, many firewalls reconstruct fragmented packets before
performing deep packet inspection, so this divergence is less performing deep packet inspection, so this divergence is less
problematic than it might have been, and is at least partially problematic than it might have been, and is at least partially
justified because the full header chain is not present in all justified because the full header chain is not present in all
fragments. fragments.
Destination Options may also contain unknown options. However, the Destination Options may also contain unknown options. However, the
options are encoded in TLV format so that intermediate nodes can skip options are encoded in TLV format so that intermediate nodes can skip
over them during processing, unlike the enclosing extension headers. over them during processing, unlike the enclosing extension headers.
2.1.8.3 Unknown Headers/Destination Options and Security Policy 2.1.8.3. Unknown Headers/Destination Options and Security Policy
A strict security policy might dictate that packets containing either A strict security policy might dictate that packets containing either
unknown headers or destination options are discarded by firewalls or unknown headers or destination options are discarded by firewalls or
other filters. This requires the firewall to process the whole other filters. This requires the firewall to process the whole
extension header chain which may be currently in conflict with the extension header chain which may be currently in conflict with the
IPv6 specification as discussed in Section 2.1.8.1. IPv6 specification as discussed in Section 2.1.8.1.
Even if the firewall does inspect the whole header chain, it may not Even if the firewall does inspect the whole header chain, it may not
be sensible to discard packets with items by the firewall: the be sensible to discard packets with items unrecognized by the
intermediate node has no knowledge of which options and headers are firewall: the intermediate node has no knowledge of which options and
implemented in the destination node. Hence it is highly desirable to headers are implemented in the destination node. Hence it is highly
make the discard policy configurable. This will avoid firewalls desirable to make the discard policy configurable. This will avoid
dropping packets with legitimate items that they do not recognize firewalls dropping packets with legitimate items that they do not
because their hardware or software is not aware of a new definition. recognize because their hardware or software is not aware of a new
definition.
2.1.8.4 Excessive Hop-by-Hop Options 2.1.8.4. Excessive Hop-by-Hop Options
IPv6 does not limit the number of hop by hop options which can be IPv6 does not limit the number of hop by hop options which can be
present in a hop-by-hop option header. The lack of a limit can be present in a hop-by-hop option header. The lack of a limit can be
used to mount denial of service attacks affecting all nodes on a path used to mount denial of service attacks affecting all nodes on a path
as described in [I-D.krishnan-ipv6-hopbyhop]. as described in [I-D.krishnan-ipv6-hopbyhop].
2.1.8.5 Overuse of Router Alert Option 2.1.8.5. Overuse of Router Alert Option
The IPv6 router alert option specifies a hop-by-hop option that, if The IPv6 router alert option specifies a hop-by-hop option that, if
present, signals the router to take a closer look at the packet. present, signals the router to take a closer look at the packet.
This can be used for denial of service attacks. By sending a large This can be used for denial of service attacks. By sending a large
number of packets containing a router alert option an attacker can number of packets containing a router alert option an attacker can
deplete the processor cycles on the routers available to legitimate deplete the processor cycles on the routers available to legitimate
traffic. traffic.
2.1.9 Fragmentation: Reassembly and Deep Packet Inspection 2.1.9. Fragmentation: Reassembly and Deep Packet Inspection
The current specifications of IPv6 in [RFC2460] do not mandate any The current specifications of IPv6 in [RFC2460] do not mandate any
minimum packet size for the fragments of a packet before the last minimum packet size for the fragments of a packet before the last
one, except for the need to carry the unfragmentable part in all one, except for the need to carry the unfragmentable part in all
fragments. fragments.
The unfragmentable part does not include the transport port numbers The unfragmentable part does not include the transport port numbers
so that it is possible that the first fragment does not contain so that it is possible that the first fragment does not contain
sufficient information to carry out deep packet inspection involving sufficient information to carry out deep packet inspection involving
the port numbers. the port numbers.
skipping to change at page 11, line 37 skipping to change at page 11, line 42
Specifying a minimum size for packet fragments does not help in the Specifying a minimum size for packet fragments does not help in the
same way as it does for IPv4 because IPv6 extension headers can be same way as it does for IPv4 because IPv6 extension headers can be
made to appear very long: an attacker could insert one or more made to appear very long: an attacker could insert one or more
undefined destination options with long lengths and the 'ignore if undefined destination options with long lengths and the 'ignore if
unknown' bit set. Given the guaranteed minimum MTU of IPv6 it seems unknown' bit set. Given the guaranteed minimum MTU of IPv6 it seems
reasonable that hosts should be able to ensure that the transport reasonable that hosts should be able to ensure that the transport
port numbers are in the first fragment in almost all cases and that port numbers are in the first fragment in almost all cases and that
deep packet inspection should be very suspicious of first fragments deep packet inspection should be very suspicious of first fragments
that do not contain them. that do not contain them.
2.1.10 Fragmentation Related DoS Attacks 2.1.10. Fragmentation Related DoS Attacks
Packet reassembly in IPv6 hosts also opens up the possibility of Packet reassembly in IPv6 hosts also opens up the possibility of
various fragment-related security attacks. Some of these are various fragment-related security attacks. Some of these are
analogous to attacks identified for IPv4. Of particular concern is a analogous to attacks identified for IPv4. Of particular concern is a
DoS attack based on sending large numbers of small fragments without DoS attack based on sending large numbers of small fragments without
a terminating last fragment which would potentially overload the a terminating last fragment which would potentially overload the
reconstruction buffers and consume large amounts of CPU resources. reconstruction buffers and consume large amounts of CPU resources.
Mandating the size of packet fragments could reduce the impact of Mandating the size of packet fragments could reduce the impact of
this kind of attack by limiting the rate at which fragments could this kind of attack by limiting the rate at which fragments could
arrive and limiting the number of fragments which need to be arrive and limiting the number of fragments which need to be
processed. processed.
2.1.11 Link-Local Addresses and Securing Neighbor Discovery 2.1.11. Link-Local Addresses and Securing Neighbor Discovery
All IPv6 nodes are required to configure a link-local address on each All IPv6 nodes are required to configure a link-local address on each
interface. This address is used to communicate with other nodes interface. This address is used to communicate with other nodes
directly connected to the link accessed via the interface, especially directly connected to the link accessed via the interface, especially
during the neighbor discovery and auto-configuration processes. during the neighbor discovery and auto-configuration processes.
Link-local addresses are fundamental to the operation of the Neighbor Link-local addresses are fundamental to the operation of the Neighbor
Discovery Protocol (NDP) [RFC2461] and SLAAC [RFC2462]. NDP also Discovery Protocol (NDP) [RFC2461] and SLAAC [RFC2462]. NDP also
provides the functionality of associating link layer and IP addresses provides the functionality of associating link layer and IP addresses
provided by the Address Resolution Protocol (ARP) in IPv4 networks. provided by the Address Resolution Protocol (ARP) in IPv4 networks.
skipping to change at page 12, line 41 skipping to change at page 12, line 43
of the link bandwidth ('bandwidth theft') to communicate with another of the link bandwidth ('bandwidth theft') to communicate with another
unauthorized node on the same link. unauthorized node on the same link.
Link-local addresses allocated from the prefix 169.254.0.0/16 are Link-local addresses allocated from the prefix 169.254.0.0/16 are
available in IPv4 as well and procedures for using them are described available in IPv4 as well and procedures for using them are described
in [I-D.ietf-zeroconf-ipv4-linklocal] but the security issues were in [I-D.ietf-zeroconf-ipv4-linklocal] but the security issues were
not as pronounced as for IPv6 for the following reasons: not as pronounced as for IPv6 for the following reasons:
o link-local addresses are not mandatory in IPv4 and are primarily o link-local addresses are not mandatory in IPv4 and are primarily
intended for isolated or ad hoc networks that cannot acquire a intended for isolated or ad hoc networks that cannot acquire a
routable IPv4 address by other means, routable IPv4 address by other means,
o IPv4 addresses are not universally supported across operating o IPv4 link-local addresses are not universally supported across
systems, and operating systems, and
o the IPv4 link-local address should be removed when a non-link- o the IPv4 link-local address should be removed when a non-link-
local address is configured on the interface and will generally local address is configured on the interface and will generally
not be allocated unless other means of acquiring an address are not be allocated unless other means of acquiring an address are
not available. not available.
These vulnerabilities can be mitigated in several ways. A general These vulnerabilities can be mitigated in several ways. A general
solution will require solution will require
o authenticating the link layer connectivity, for example by using o authenticating the link layer connectivity, for example by using
IEEE 802.1x functionality, port-based MAC address security IEEE 802.1x functionality, port-based MAC address security
(locking), or physical security, and (locking), or physical security, and
skipping to change at page 13, line 18 skipping to change at page 13, line 21
deployments where it is difficult to physically secure the deployments where it is difficult to physically secure the
infrastructure infrastructure
In wired environments, where the physical infrastructure is In wired environments, where the physical infrastructure is
reasonably secure, it may be sufficient to ignore communication reasonably secure, it may be sufficient to ignore communication
requests originating from a link-local address for other than local requests originating from a link-local address for other than local
network management purposes. This requires that nodes should only network management purposes. This requires that nodes should only
accept packets with link-local addresses for a limited set of accept packets with link-local addresses for a limited set of
protocols including NDP, MLD and other functions of ICMPv6. protocols including NDP, MLD and other functions of ICMPv6.
2.1.11.1 Securing Router Advertisements 2.1.12. Securing Router Advertisements
As part of the Neighbor Discovery process, routers on a link As part of the Neighbor Discovery process, routers on a link
advertise their capabilities in Router Advertisement messages. The advertise their capabilities in Router Advertisement messages. The
version of NDP defined in [RFC2461] does not protect the integrity of version of NDP defined in [RFC2461] does not protect the integrity of
these messages or validate the assertions made in the messages with these messages or validate the assertions made in the messages with
the result that any node which connects to the link can maliciously the result that any node which connects to the link can maliciously
claim to offer routing services which it will not fulfill, and claim to offer routing services which it will not fulfill, and
advertise inappropriate prefixes and parameters. These threats have advertise inappropriate prefixes and parameters. These threats have
been documented in [RFC3756]. been documented in [RFC3756].
A malicious node may also be able to carry out a DoS attack by
deprecating an established valid prefix (by advertising it with a
zero lifetime). Similar DoS attacks are possible if the optional
Router Selection mechanism is implemented as described in the
security considerations of [I-D.ietf-ipv6-router-selection].
SEND [RFC3971] can be used to provide verification that routers are SEND [RFC3971] can be used to provide verification that routers are
authorized to provide the services they advertise through a authorized to provide the services they advertise through a
certificate-based mechanism. This capability of SEND is also certificate-based mechanism. This capability of SEND is also
particularly appropriate for wireless environments where clients are particularly appropriate for wireless environments where clients are
reliant on the assertions of the routers rather than a physically reliant on the assertions of the routers rather than a physically
secured connection. secured connection.
2.1.12 Mobile IPv6 2.1.13. Host to Router Load Sharing
If a host deploys the optional Host to Router Load Sharing mechanism
[I-D.ietf-ipv6-host-load-sharing] a malicious application could try
to subvert the load sharing algorithm to direct a large volume of
traffic to a subset of the routers.
However, as described in [I-D.ietf-ipv6-host-load-sharing], this is
not considered a significant threat as
1. load-sharing routers should be provisioned to handle the load in
any case (e.g., if one of them goes down),
2. a privileged user can launch such an attack using raw sockets in
any case, and
3. a user or application could just attack the routers directly or
in other, simpler ways.
2.1.14. Mobile IPv6
Mobile IPv6 offers significantly enhanced security compared with Mobile IPv6 offers significantly enhanced security compared with
Mobile IPv4 especially when using optimized routing and care-of Mobile IPv4 especially when using optimized routing and care-of
addresses. Return routability checks are used to provide relatively addresses. Return routability checks are used to provide relatively
robust assurance that the different addresses which a mobile node robust assurance that the different addresses which a mobile node
uses as it moves through the network do indeed all refer to the same uses as it moves through the network do indeed all refer to the same
node. The threats and solutions are described in [RFC3775] and a node. The threats and solutions are described in [RFC3775] and a
more extensive discussion of the security aspects of the design can more extensive discussion of the security aspects of the design can
be found in [I-D.ietf-mip6-ro-sec]. be found in [I-D.ietf-mip6-ro-sec].
2.1.12.1 Obsolete Home Address Option in Mobile IPv6 2.1.14.1. Obsolete Home Address Option in Mobile IPv6
The Home Address option specified in early drafts of Mobile IPv6 The Home Address option specified in early drafts of Mobile IPv6
would have allowed a trivial source spoofing attack: hosts were would have allowed a trivial source spoofing attack: hosts were
required to substitute the source address of incoming packets with required to substitute the source address of incoming packets with
the address in the option, thereby potentially evading checks on the the address in the option, thereby potentially evading checks on the
packet source address. This is discussed at greater length in packet source address. This is discussed at greater length in
[I-D.savola-ipv6-rh-ha-security]. The version of Mobile IPv6 as [I-D.savola-ipv6-rh-ha-security]. The version of Mobile IPv6 as
standardized in [RFC3775] has removed this issue by ensuring that the standardized in [RFC3775] has removed this issue by ensuring that the
Home Address destination option is only processed if there is a Home Address destination option is only processed if there is a
corresponding binding cache entry and securing Binding Update corresponding binding cache entry and securing Binding Update
messages. messages.
A number of pre-standard implementations of Mobile IPv6 were A number of pre-standard implementations of Mobile IPv6 were
available which implemented this obsolete and insecure option: care available which implemented this obsolete and insecure option: care
should be taken to avoid running such obsolete systems. should be taken to avoid running such obsolete systems.
2.2 IPv4-mapped IPv6 Addresses 2.2. IPv4-mapped IPv6 Addresses
Overloaded functionality is always a double-edged sword: it may yield Overloaded functionality is always a double-edged sword: it may yield
some deployment benefits, but often also incurs the price which comes some deployment benefits, but often also incurs the price which comes
with ambiguity. with ambiguity.
One example of such is IPv4-mapped IPv6 addresses: a representation One example of such is IPv4-mapped IPv6 addresses: a representation
of an IPv4 address as an IPv6 address inside an operating system. of an IPv4 address as an IPv6 address inside an operating system.
Since the original specification, the use of IPv4-mapped addresses Since the original specification, the use of IPv4-mapped addresses
has been extended to a transition mechanism, Stateless IP/ICMP has been extended to a transition mechanism, Stateless IP/ICMP
Translation algorithm (SIIT) [RFC2765], where they are potentially Translation algorithm (SIIT) [RFC2765], where they are potentially
skipping to change at page 15, line 5 skipping to change at page 15, line 30
Translator (NAT-PT) [RFC2765], NAT-PT uses a mechanism different from Translator (NAT-PT) [RFC2765], NAT-PT uses a mechanism different from
IPv4-mapped IPv6 addresses for communicating embedded IPv4 addresses IPv4-mapped IPv6 addresses for communicating embedded IPv4 addresses
in IPv6 addresses. Also SIIT is not recommended for use as a in IPv6 addresses. Also SIIT is not recommended for use as a
standalone transition mechanism. Given the issues that have been standalone transition mechanism. Given the issues that have been
identified, it seems appropriate that mapped addresses should not be identified, it seems appropriate that mapped addresses should not be
used on the wire. However, changing application behavior by used on the wire. However, changing application behavior by
deprecating the use of mapped addresses in the operating system deprecating the use of mapped addresses in the operating system
interface would have significant impact on application porting interface would have significant impact on application porting
methods [RFC4038]and needs further study. methods [RFC4038]and needs further study.
2.3 Increased End-to-End Transparency 2.3. Increased End-to-End Transparency
One of the major design aims of IPv6 has been to maintain the One of the major design aims of IPv6 has been to maintain the
original IP architectural concept of end-to-end transparency. original IP architectural concept of end-to-end transparency.
Transparency can help foster technological innovation in areas such Transparency can help foster technological innovation in areas such
as peer-to-peer communication but maintaining the security of the as peer-to-peer communication but maintaining the security of the
network at the same time requires some modifications in the network network at the same time requires some modifications in the network
architecture. Ultimately, it is also likely to need changes in the architecture. Ultimately, it is also likely to need changes in the
security model as compared with the norms for IPv4 networks. security model as compared with the norms for IPv4 networks.
2.3.1 IPv6 Networks without NATs 2.3.1. IPv6 Networks without NATs
The necessity of introducing Network Address Translators (NATs) into The necessity of introducing Network Address Translators (NATs) into
IPv4 networks, resulting from a shortage of IPv4 addresses, has IPv4 networks, resulting from a shortage of IPv4 addresses, has
removed the end-to-end transparency of most IPv4 connections: the use removed the end-to-end transparency of most IPv4 connections: the use
of IPv6 would restore this transparency. However, the use of NATs, of IPv6 would restore this transparency. However, the use of NATs,
and the associated private addressing schemes, has become and the associated private addressing schemes, has become
inappropriately linked to the provision of security in enterprise inappropriately linked to the provision of security in enterprise
networks. The restored end-to-end transparency of IPv6 networks can networks. The restored end-to-end transparency of IPv6 networks can
therefore be seen as a threat by poorly informed enterprise network therefore be seen as a threat by poorly informed enterprise network
managers. Some seem to want to limit the end-to-end capabilities of managers. Some seem to want to limit the end-to-end capabilities of
IPv6, for example by deploying private, local addressing and IPv6, for example by deploying private, local addressing and
translators, even when it is not necessary because of the abundance translators, even when it is not necessary because of the abundance
of IPv6 addresses. of IPv6 addresses.
Recommendations for designing an IPv6 network to meet the perceived Recommendations for designing an IPv6 network to meet the perceived
security and connectivity requirements implicit in the current usage security and connectivity requirements implicit in the current usage
of IPv4 NATs whilst maintaining the advantages of IPv6 end-to-end of IPv4 NATs whilst maintaining the advantages of IPv6 end-to-end
transparency are described in IPv6 Network Architecture Protection transparency are described in IPv6 Network Architecture Protection
[I-D.ietf-v6ops-nap]. [I-D.ietf-v6ops-nap].
2.3.2 Enterprise Network Security Model for IPv6 2.3.2. Enterprise Network Security Model for IPv6
The favored model for enterprise network security in IPv4 stresses The favored model for enterprise network security in IPv4 stresses
the use of a security perimeter policed by autonomous firewalls and the use of a security perimeter policed by autonomous firewalls and
incorporating the NATs. Both perimeter firewalls and NATs introduce incorporating the NATs. Both perimeter firewalls and NATs introduce
asymmetry and reduce the transparency of communications through these asymmetry and reduce the transparency of communications through these
perimeters. The symmetric bidirectionality and transparency which perimeters. The symmetric bidirectionality and transparency which
are extolled as virtues of IPv6 may seem to be at odds with this are extolled as virtues of IPv6 may seem to be at odds with this
model. Consequently network managers may even see them as model. Consequently network managers may even see them as
undesirable attributes, in conflict with their need to control undesirable attributes, in conflict with their need to control
threats to and attacks on the networks they administer. threats to and attacks on the networks they administer.
skipping to change at page 17, line 7 skipping to change at page 17, line 30
use the new security model as it develops and avoid the use of NATs use the new security model as it develops and avoid the use of NATs
by the use of the architectural techniques described in [I-D.ietf- by the use of the architectural techniques described in [I-D.ietf-
v6ops-nap]. In particular, using NAT-PT [RFC2766] as a general v6ops-nap]. In particular, using NAT-PT [RFC2766] as a general
purpose transition mechanism should be avoided as it is likely to purpose transition mechanism should be avoided as it is likely to
limit the exploitation of end-to-end security and other IPv6 limit the exploitation of end-to-end security and other IPv6
capabilities in future as explained in [I-D.ietf-v6ops-natpt-to- capabilities in future as explained in [I-D.ietf-v6ops-natpt-to-
exprmntl]. exprmntl].
3. Issues Due to Transition Mechanisms 3. Issues Due to Transition Mechanisms
3.1 IPv6 Transition/Co-existence Mechanism-specific Issues 3.1. IPv6 Transition/Co-existence Mechanism-specific Issues
The more complicated the IPv6 transition/co-existence becomes, the The more complicated the IPv6 transition/co-existence becomes, the
greater the danger that security issues will be introduced either greater the danger that security issues will be introduced either
o in the mechanisms themselves, o in the mechanisms themselves,
o in the interaction between mechanisms, or o in the interaction between mechanisms, or
o by introducing unsecured paths through multiple mechanisms. o by introducing unsecured paths through multiple mechanisms.
These issues may or may not be readily apparent. Hence it would be These issues may or may not be readily apparent. Hence it would be
desirable to keep the mechanisms simple, as few in number as possible desirable to keep the mechanisms simple, as few in number as possible
and built from as small pieces as possible to simplify analysis. and built from as small pieces as possible to simplify analysis.
skipping to change at page 17, line 38 skipping to change at page 18, line 16
on receipt and that link-local addresses are used. Sending such on receipt and that link-local addresses are used. Sending such
packets to the tunnel interface is much easier than gaining access packets to the tunnel interface is much easier than gaining access
to a physical segment and sending them there. to a physical segment and sending them there.
o automatic tunneling mechanisms are typically particularly o automatic tunneling mechanisms are typically particularly
dangerous as there is no pre-configured association between end dangerous as there is no pre-configured association between end
points. Accordingly, at the receiving end of the tunnel packets points. Accordingly, at the receiving end of the tunnel packets
have to be accepted and decapsulated from any source. have to be accepted and decapsulated from any source.
Consequently, special care should be taken when specifying Consequently, special care should be taken when specifying
automatic tunneling techniques. automatic tunneling techniques.
3.2 Automatic Tunneling and Relays 3.2. Automatic Tunneling and Relays
Two mechanisms have been (or are being) specified which use automatic Two mechanisms have been (or are being) specified which use automatic
tunneling and are intended for use outside a single domain. These tunneling and are intended for use outside a single domain. These
mechanisms encapsulate the IPv6 packet directly in an IPv4 packet in mechanisms encapsulate the IPv6 packet directly in an IPv4 packet in
the case of 6to4 [RFC3056] or in an IPv4 UDP packet in the case of the case of 6to4 [RFC3056] or in an IPv4 UDP packet in the case of
Teredo [I-D.huitema-v6ops-teredo]. In each case packets can be sent Teredo [I-D.huitema-v6ops-teredo]. In each case packets can be sent
and received by any similarly equipped nodes in the IPv4 Internet. and received by any similarly equipped nodes in the IPv4 Internet.
As mentioned in Section 3.1, a major vulnerability in such approaches As mentioned in Section 3.1, a major vulnerability in such approaches
is that receiving nodes must allow decapsulation of traffic sourced is that receiving nodes must allow decapsulation of traffic sourced
skipping to change at page 18, line 29 skipping to change at page 19, line 7
As authentication of such a relay service is very difficult to As authentication of such a relay service is very difficult to
achieve, and particularly so in some of the possible deployment achieve, and particularly so in some of the possible deployment
models, relays provide a potential vehicle for address spoofing, models, relays provide a potential vehicle for address spoofing,
(reflected) Denial-of-Service attacks, and other threats. (reflected) Denial-of-Service attacks, and other threats.
Threats related to 6to4 and measures to combat them are discussed in Threats related to 6to4 and measures to combat them are discussed in
[RFC3964]. [I-D.huitema-v6ops-teredo] incorporates extensive [RFC3964]. [I-D.huitema-v6ops-teredo] incorporates extensive
discussion of the threats to Teredo and measures to combat them. discussion of the threats to Teredo and measures to combat them.
3.3 Tunneling IPv6 Through IPv4 Networks May Break IPv4 Network 3.3. Tunneling IPv6 Through IPv4 Networks May Break IPv4 Network
Security Assumptions Security Assumptions
NATs and firewalls have been deployed extensively in the IPv4 NATs and firewalls have been deployed extensively in the IPv4
Internet, as discussed in Section 2.3. Operators who deploy them Internet, as discussed in Section 2.3. Operators who deploy them
typically have some security/operational requirements in mind (e.g. a typically have some security/operational requirements in mind (e.g. a
desire to block inbound connection attempts), which may or may not be desire to block inbound connection attempts), which may or may not be
misguided. misguided.
The addition of tunneling can change the security model which such The addition of tunneling can change the security model which such
deployments are seeking to enforce. IPv6-over-IPv4 tunneling using deployments are seeking to enforce. IPv6-over-IPv4 tunneling using
skipping to change at page 19, line 36 skipping to change at page 20, line 15
the host is protected in IPv4, the IPv6 side should be protected as the host is protected in IPv4, the IPv6 side should be protected as
well. well.
As has been shown in Appendix A, it is relatively easy to determine As has been shown in Appendix A, it is relatively easy to determine
the IPv6 address corresponding to an IPv4 address in tunneling the IPv6 address corresponding to an IPv4 address in tunneling
deployments. It is therefore vital NOT to rely on "security by deployments. It is therefore vital NOT to rely on "security by
obscurity" i.e., assuming that nobody is able to guess or determine obscurity" i.e., assuming that nobody is able to guess or determine
the IPv6 address of the host especially when using automatic the IPv6 address of the host especially when using automatic
tunneling transition mechanisms. tunneling transition mechanisms.
4. Issues Due to IPv6 Deployment The network architecture must provide separate IPv4 and IPv6
firewalls with tunneled IPv6 traffic arriving encapsulated in IPv4
packets routed through the IPv4 firewall before being decapsulated,
and then through the IPv6 firewall as shown in Figure 1.
4.1 IPv6 Service Piloting Done Insecurely +--------+ +--------+ +--------+
Site | Native | IPv6 |v6 in v4| IPv4 | Native | Public
Network <--->| IPv6 |<---->| Tunnel |<---->| IPv4 |<---> Internet
|Firewall| |Endpoint| |Firewall|
+--------+ +--------+ +--------+
In many cases, IPv6 service piloting is done in a manner which is Figure 1: Tunneled Traffic and Firewalls
less secure than can be achieved for an IPv4 production service. For
example, hosts and routers might not be protected by IPv6 firewalls,
even if the corresponding IPv4 service is fully protected by
firewalls as described in [I-D.ietf-v6ops-v6onbydefault]. This is
particularly critical where IPv6 capabilities are turned on by
default in new equipment or new releases of operating systems:
network managers may not be fully aware of the security exposure that
this creates.
The other possible alternative, in some instances, is that no service 4. Issues Due to IPv6 Deployment
piloting is permitted because IPv6 firewalls and other security
capabilities, such as intrusion detection systems may not be widely
available. Consequently, IPv6 deployment suffers and expertise
accumulates less rapidly.
These problems may be partly due to the relatively slow development 4.1. Avoiding the Trap of Insecure IPv6 Service Piloting
and deployment of IPv6-capable firewall equipment, but there is also
a lack of information: actually, there are quite a few IPv6 packet
filters and firewalls already in existence, which could be used for
provide sufficient access controls, but network administrators may
not be aware of them yet and there is a lack of documented
operational practice.
However, there appears to be a real lack in the area of 'personal Because IPv6 is a new service for many networks, network managers
firewalls'. Also enterprise firewalls are at an early stage of will often opt to make a pilot deployment in a part of the network to
development and may not provide all the capabilities needed to gain experience and understand the problems as well as the benefits
implement the necessary IPv6 filtering rules. The same devices that that may result from a full production quality IPv6 service.
support and are used for IPv4 today are often expected to also become
IPv6-capable -- even though this is not really required and the
equipment may not have the requisite hardware capabilities to support
fast packet filtering for IPv6. That is, IPv4 access could be
filtered by one firewall, and when IPv6 access is added, it could be
protected by another firewall; they don't have to be the same box,
and even their models don't have to be the same.
A lesser factor may be that some design decisions in the IPv6 Unless IPv6 service piloting is done in a manner which is as secure
protocol make it more difficult for firewalls to be implemented and as possible there is a risk that security in the pilot which does not
work in all cases and to be fully future proof (e.g. when new match up to what is achievable with current IPv4 production service
can adversely impact the overall assessment of the IPv6 pilot
deployment. This may result in a decision to delay or even avoid
deploying an IPv6 production service. For example, hosts and routers
might not be protected by IPv6 firewalls, even if the corresponding
IPv4 service is fully protected by firewalls as described in
[I-D.ietf-v6ops-v6onbydefault]. This is particularly critical where
IPv6 capabilities are turned on by default in new equipment or new
releases of operating systems: network managers may not be fully
aware of the security exposure that this creates.
In some cases a perceived lack of availability of IPv6 firewalls and
other security capabilities, such as intrusion detection systems may
have lead network managers to resist any kind of IPv6 service
deployment. These problems may be partly due to the relatively slow
development and deployment of IPv6-capable security equipment, but
the major problems appear to have been a lack of information, and
more importantly a lack of documented operational experience on which
managers can draw. In actual fact, as of the time of writing (2005)
there are a significant number of alternative IPv6 packet filters and
firewalls already in existence, which could be used for provide
sufficient access controls.
However, there are a small number of areas that where the available
equipment and capabilities may still be a barrier to secure
deployment:
o 'Personal firewalls' intended for use on hosts are not yet widely
available.
o Enterprise firewalls are at an early stage of development and may
not provide the full range of capabilities needed to implement the
necessary IPv6 filtering rules. network managers often expect the
same devices that support and are used for IPv4 today to also
become IPv6-capable -- even though this is not really required and
the equipment may not have the requisite hardware capabilities to
support fast packet filtering for IPv6. Suggestions for the
appropriate deployment of firewalls are given in Section 3.3 -- as
will be seen from this section it is usually desirable that the
firewalls are in separate boxes and there is no necessity for them
to be same model of equipment.
o A lesser factor may be that some design decisions in the IPv6
protocol make it more difficult for firewalls to be implemented
and work in all cases, and to be fully future proof (e.g. when new
extension headers are used) as discussed in Section 2.1.8: it is extension headers are used) as discussed in Section 2.1.8: it is
significantly more difficult for intermediate nodes to process the significantly more difficult for intermediate nodes to process the
IPv6 header chains than IPv4 packets. IPv6 header chains than IPv4 packets.
o Adequate Intrusion Detection Systems (IDS) are more difficult to
construct for IPv6. IDSs are now beginning to become available
but the pattern-based mechanisms used for IPv4 may not be the most
appropriate for long-term development of these systems as end-to-
end encryption becomes more prevalent. Future systems may be more
reliant on traffic flow pattern recognition.
o Implementations of high availability capabilities supporting IPv6
are also in short supply. In particular, development of the IPv6
version of the Virtual Router Redundancy Protocol (VRRP)
[I-D.ietf-vrrp-ipv6-spec] has lagged the development of the main
IPv6 protocol although alternatives may be available for some
environments.
A similar argument, which is often quoted as hindering IPv6 In all these areas developments are ongoing and they should not be
deployment, has been the lack of Intrusion Detection Systems (IDS). considered a long-term bar to the deployment of IPv6 either as a
It is not clear whether this is more of an excuse than a real reason. pilot or production service. The necessary tools are now available
to make a secure IPv6 deployment and with careful selection of
An additional problem is the limited implementation of high components and design of the network architecture a successful pilot
availability capabilities supporting IPv6. In particular, or production IPv6 service can be deployed. Recommendations for
development of the IPv6 version of the Virtual Router Redundancy secure deployment and appropriate management of IPv6 networks can be
Protocol (VRRP) [I-D.ietf-vrrp-ipv6-spec] has lagged the development found in the documentation archives of the European Union 6net
of the main IPv6 protocol although alternatives may be available for project [SIXNET] and in the Deployment Guide published by the IPv6
some environments. Promotion Council of Japan [JpIPv6DC].
Actually, some providers are fully ready to offer IPv6 services (e.g.
web) today, but because that would (or, at least, might) result in
problems for many of their customers or users who are, by default,
using active dual-stack systems the services are not turned on: as a
compromise, the services are often published under a separate domain
or subdomain, and are, in practice, not much used as a consequence.
4.2 DNS Server Problems 4.2. DNS Server Problems
Some DNS server implementations have flaws that severely affect DNS Some DNS server implementations have flaws that severely affect DNS
queries for IPv6 addresses as discussed in [RFC4074]. These flaws queries for IPv6 addresses as discussed in [RFC4074]. These flaws
can be used for DoS attacks affecting both IPv4 and IPv6 by inducing can be used for DoS attacks affecting both IPv4 and IPv6 by inducing
caching DNS servers to believe that a domain is broken and causing caching DNS servers to believe that a domain is broken and causing
the server to block access to all requests for the domain for a the server to block access to all requests for the domain for a
precautionary period. precautionary period.
4.3 Addressing Schemes and Securing Routers 4.3. Addressing Schemes and Securing Routers
Whilst in general terms brute force scanning of IPv6 subnets is Whilst in general terms brute force scanning of IPv6 subnets is
essentially impossible due to the enormously larger address space of essentially impossible due to the enormously larger address space of
IPv6 and the 64 bit interface identifiers (see Appendix A), this will IPv6 and the 64 bit interface identifiers (see Appendix A), this will
be obviated if administrators do not take advantage of the large be obviated if administrators do not take advantage of the large
space to use unguessable interface identifiers. space to use unguessable interface identifiers.
Because the unmemorability of complete IPv6 addresses there is a Because the unmemorability of complete IPv6 addresses there is a
temptation for administrators to use small integers as interface temptation for administrators to use small integers as interface
identifiers when manually configuring them, as might happen on point- identifiers when manually configuring them, as might happen on point-
to-point links. Such allocations make it easy for an attacker to to-point links or when provisioning complete addresses from a DHCPv6
find active nodes that they can then port scan. server. Such allocations make it easy for an attacker to find active
nodes that they can then port scan.
To make use of the larger address space properly, administrators To make use of the larger address space properly, administrators
should be very careful when entering IPv6 addresses in their should be very careful when entering IPv6 addresses in their
configurations (e.g. Access Control List), since numerical IPv6 configurations (e.g. Access Control List), since numerical IPv6
addresses are more prone to human error than IPv4 due to their length addresses are more prone to human error than IPv4 due to their length
and unmemorability. and unmemorability.
It is also essential to ensure that the management interfaces of It is also essential to ensure that the management interfaces of
routers are well secured as the router will usually contain a routers are well secured as the router will usually contain a
significant cache of neighbor addresses in its neighbor cache. significant cache of neighbor addresses in its neighbor cache.
4.4 Consequences of Multiple Addresses in IPv6 4.4. Consequences of Multiple Addresses in IPv6
One positive consequence of IPv6 is that nodes which do not require One positive consequence of IPv6 is that nodes which do not require
global access can communicate locally just by the use of a link-local global access can communicate locally just by the use of a link-local
address (if very local access is sufficient) or across the site by address (if very local access is sufficient) or across the site by
using a Unique Local Address (ULA). In either case it is easy to using a Unique Local Address (ULA). In either case it is easy to
ensure that access outside the assigned domain of activity can be ensure that access outside the assigned domain of activity can be
controlled by simple filters (which may be the default for link- controlled by simple filters (which may be the default for link-
locals). However, the security hazards of using link-local addresses locals). However, the security hazards of using link-local addresses
for non-management purposes as documented in Section 2.1.11 should be for non-management purposes as documented in Section 2.1.11 should be
borne in mind. borne in mind.
On the other hand, the possibility that a node or interface can have On the other hand, the possibility that a node or interface can have
multiple global scope addresses makes access control filtering both multiple global scope addresses makes access control filtering both
on ingress and egress more complex and requires higher maintenance on ingress and egress more complex and requires higher maintenance
levels. levels. Vendors and network administrators need to be aware that
multiple addresses are the norm rather than the exception in IPv6:
when building and selecting tools for security and management a
highly desirable feature is the ability to be able to 'tokenize'
access control lists and configurations in general to cater for
multiple addresses and/or address prefixes.
The addresses could be from the same network prefix (for example, The addresses could be from the same network prefix (for example,
privacy mechanisms [RFC3041][I-D.ietf-ipv6-privacy-addrs-v2] will privacy mechanisms [RFC3041][I-D.ietf-ipv6-privacy-addrs-v2] will
periodically create new addresses taken from the same prefix and two periodically create new addresses taken from the same prefix and two
or more of these may be active at the same time), or from different or more of these may be active at the same time), or from different
prefixes (for example, when a network is multihomed or is prefixes (for example, when a network is multihomed or is
implementing anycast services). In either case, it is possible that implementing anycast services). In either case, it is possible that
a single host could be using several different addresses with a single host could be using several different addresses with
different prefixes. It would be desirable that the Security different prefixes. It would be desirable that the security
Administrator should be able to identify that the same host is behind administrator should be able to identify that the same host is behind
all these addresses. all these addresses.
4.5 Deploying ICMPv6 Some network administrators may find the mutability of addresses when
privacy mechanisms are used in their network to be undesirable
because of the current difficulties in maintaining access control
lists and knowing the origin of traffic. In general, disabling the
use of privacy addresses is only possible if the full stateful DHCPv6
mechanism [RFC3315] is used to allocate IPv6 addresses and DHCPv6
requests for privacy addresses are not honored.
4.5. Deploying ICMPv6
In IPv4 it is commonly accepted that some filtering of ICMP packets In IPv4 it is commonly accepted that some filtering of ICMP packets
by firewalls is essential to maintain security. Because of the by firewalls is essential to maintain security. Because of the
extended use that is made of ICMPv6 [RFC2461] with a multitude of extended use that is made of ICMPv6 [RFC2461] with a multitude of
functions, the simple set of dropping rules that are usually applied functions, the simple set of dropping rules that are usually applied
in IPv4 need to be significantly developed for IPv6. The blanket in IPv4 need to be significantly developed for IPv6. The blanket
dropping of all ICMP messages that is used in some very strict dropping of all ICMP messages that is used in some very strict
environments is simply not possible for IPv6. environments is simply not possible for IPv6.
In an IPv6 firewall, policy needs to allow some messages through the In an IPv6 firewall, policy needs to allow some messages through the
firewall but also has to permit certain messages to and from the firewall but also has to permit certain messages to and from the
firewall, especially those with link-local sources on links to which firewall, especially those with link-local sources on links to which
the firewall is attached. These messages must be permitted to ensure the firewall is attached. These messages must be permitted to ensure
that Neighbor Discovery [RFC2462], Multicast Listener Discovery that Neighbor Discovery [RFC2462], Multicast Listener Discovery
[RFC2710], [RFC3810] and Stateless Address Configuration [RFC2463] [RFC2710], [RFC3810] and Stateless Address Configuration [RFC2463]
work as expected. work as expected.
Recommendations for filtering ICMPv6 messages can be found in Recommendations for filtering ICMPv6 messages can be found in
[I-D.davies-v6ops-icmpv6-filtering-bcp]. [I-D.davies-v6ops-icmpv6-filtering-bcp].
4.5.1 Problems Resulting from ICMPv6 Transparency 4.5.1. Problems Resulting from ICMPv6 Transparency
As described in Section 4.5, certain ICMPv6 error packets need to be As described in Section 4.5, certain ICMPv6 error packets need to be
passed through a firewall in both directions. This means that some passed through a firewall in both directions. This means that some
ICMPv6 error packets can be exchanged between inside and outside ICMPv6 error packets can be exchanged between inside and outside
without any filtering. without any filtering.
Using this feature, malicious users can communicate between the Using this feature, malicious users can communicate between the
inside and outside of a firewall bypassing the administrator's inside and outside of a firewall bypassing the administrator's
inspection (proxy, firewall etc.). For example in might be possible inspection (proxy, firewall etc.). For example it might be possible
to carry out a covert conversation through the payload of ICMPv6 to carry out a covert conversation through the payload of ICMPv6
error messages or tunnel inappropriate encapsulated IP packets in error messages or tunnel inappropriate encapsulated IP packets in
ICMPv6 error messages. This problem can be alleviated by filtering ICMPv6 error messages. This problem can be alleviated by filtering
ICMPv6 errors using a stateful packet inspection mechanism to ensure ICMPv6 errors using a stateful packet inspection mechanism to ensure
that the packet carried as a payload is associated with legitimate that the packet carried as a payload is associated with legitimate
traffic to or from the protected network. traffic to or from the protected network.
4.6 IPsec Transport Mode 4.6. IPsec Transport Mode
IPsec provides security to end-to-end communications at the network IPsec provides security to end-to-end communications at the network
layer (layer 3). The security features available include access layer (layer 3). The security features available include access
control, connectionless integrity, data origin authentication, control, connectionless integrity, data origin authentication,
protection against replay attacks, confidentiality, and limited protection against replay attacks, confidentiality, and limited
traffic flow confidentiality (see [RFC2401] section 2.1). IPv6 traffic flow confidentiality (see [RFC2401] section 2.1). IPv6
mandates the implementation of IPsec in all conforming nodes, making mandates the implementation of IPsec in all conforming nodes, making
the usage of IPsec to secure end-to-end communication possible in a the usage of IPsec to secure end-to-end communication possible in a
way which is generally not available to IPv4. way which is generally not available to IPv4.
skipping to change at page 23, line 33 skipping to change at page 25, line 8
firewalls cannot perform deep packet inspection and filtering. firewalls cannot perform deep packet inspection and filtering.
One example of such problems is the lack of security solutions in the One example of such problems is the lack of security solutions in the
middlebox, including effective content-filtering, ability to provide middlebox, including effective content-filtering, ability to provide
DoS prevention based on the expected TCP protocol behavior, and DoS prevention based on the expected TCP protocol behavior, and
intrusion detection. Future solutions to this problem are discussed intrusion detection. Future solutions to this problem are discussed
in Section 2.3.2. Another example is an IPsec-based DoS (e.g., in Section 2.3.2. Another example is an IPsec-based DoS (e.g.,
sending malformed ESP/AH packets) which can be especially detrimental sending malformed ESP/AH packets) which can be especially detrimental
to software-based IPsec implementations. to software-based IPsec implementations.
4.7 Reduced Functionality Devices 4.7. Reduced Functionality Devices
With the deployment of IPv6 we can expect the attachment of a very With the deployment of IPv6 we can expect the attachment of a very
large number of new IPv6-enabled devices with scarce resources and large number of new IPv6-enabled devices with scarce resources and
low computing capacity. The resource limitations are generally low computing capacity. The resource limitations are generally
because of a market requirement for cost reduction. Some such because of a market requirement for cost reduction. Although the
devices may not be able even to perform the minimum set of functions IPv6 Node Requirements [I-D.ietf-ipv6-node-requirements] specifies
required to protect themselves (e.g. 'personal' firewall, automatic some mandatory security capabilities for every conformant node, these
firmware update, enough CPU power to endure DoS attacks). This means do not include functions required for a node to be able to protect
a different security scheme may be necessary for such embedded itself. Accordingly, some such devices may not be able even to
devices. perform the minimum set of functions required to protect themselves
(e.g. 'personal' firewall, automatic firmware update, enough CPU
power to endure DoS attacks). This means a different security scheme
may be necessary for such reduced functionality devices.
4.8 Operational Factors when Enabling IPv6 in the Network 4.8. Operational Factors when Enabling IPv6 in the Network
There are a number of reasons which make it essential to take There are a number of reasons which make it essential to take
particular care when enabling IPv6 in the network equipment: particular care when enabling IPv6 in the network equipment:
Initially, IPv6-enabled router software may be less stable than Initially, IPv6-enabled router software may be less mature than
current IPv4-only implementations and there is less experience with current IPv4-only implementations and there is less experience with
configuring IPv6 routing, which can result in disruptions to the IPv6 configuring IPv6 routing, which can result in disruptions to the IPv6
routing environment and (IPv6) network outages. routing environment and (IPv6) network outages.
IPv6 processing may not happen at (near) line speed (or at a IPv6 processing may not happen at (near) line speed (or at a
comparable performance level to IPv4 in the same equipment). A high comparable performance level to IPv4 in the same equipment). A high
level of IPv6 traffic (even legitimate, e.g. Network News Transport level of IPv6 traffic (even legitimate, e.g. Network News Transport
Protocol, NNTP) could easily overload IPv6 processing especially when Protocol, NNTP) could easily overload IPv6 processing especially when
it is software-based without the hardware support typical in high-end it is software-based without the hardware support typical in high-end
routers. This may potentially have deleterious knock-on effects on routers. This may potentially have deleterious knock-on effects on
skipping to change at page 24, line 41 skipping to change at page 26, line 19
Many operator networks have to run interior routing protocols for Many operator networks have to run interior routing protocols for
both IPv4 and IPv6. It is possible to run the both in one routing both IPv4 and IPv6. It is possible to run the both in one routing
protocol, or have two separate routing protocols; either approach has protocol, or have two separate routing protocols; either approach has
its tradeoffs [RFC4029]. If multiple routing protocols are used, one its tradeoffs [RFC4029]. If multiple routing protocols are used, one
should note that this causes double the amount of processing when should note that this causes double the amount of processing when
links flap or recalculation is otherwise needed -- which might more links flap or recalculation is otherwise needed -- which might more
easily overload the router's CPU, causing slightly slower convergence easily overload the router's CPU, causing slightly slower convergence
time. time.
4.9 Ingress Filtering Issues Due to Privacy Addresses 4.9. Ingress Filtering Issues Due to Privacy Addresses
[RFC3041][I-D.ietf-ipv6-privacy-addrs-v2] describes a method for [RFC3041][I-D.ietf-ipv6-privacy-addrs-v2] describes a method for
creating temporary addresses on IPv6 nodes to address privacy issues creating temporary addresses on IPv6 nodes to address privacy issues
created by the use of a constant identifier. In a network, which created by the use of a constant identifier. In a network, which
implements such a mechanism, with a large number of nodes, new implements such a mechanism, with a large number of nodes, new
temporary addresses may be created at a fairly high rate. This might temporary addresses may be created at a fairly high rate. This might
make it hard for ingress filtering mechanisms to distinguish between make it hard for ingress filtering mechanisms to distinguish between
legitimately changing temporary addresses and spoofed source legitimately changing temporary addresses and spoofed source
addresses, which are "in-prefix" (They use a topologically correct addresses, which are "in-prefix" (They use a topologically correct
prefix and non-existent interface ID). This can be addressed by prefix and non-existent interface ID). This can be addressed by
using finer grained access control mechanisms on the network egress using finer grained access control mechanisms on the network egress
point. point.
4.10 Security Issues Due to ND Proxies 4.10. Security Issues Due to ND Proxies
In order to span a single subnet over multiple physical links, a new In order to span a single subnet over multiple physical links, a new
capability is being introduced in IPv6 to proxy Neighbor Discovery capability is being introduced in IPv6 to proxy Neighbor Discovery
messages. This node will be called an NDProxy (see [I-D.ietf-ipv6- messages. This node will be called an NDProxy (see [I-D.ietf-ipv6-
ndproxy]. NDProxies are susceptible to the same security issues as ndproxy]. NDProxies are susceptible to the same security issues as
the ones faced by hosts using unsecured Neighbor Discovery or ARP. the ones faced by hosts using unsecured Neighbor Discovery or ARP.
These proxies may process unsecured messages, and update the neighbor These proxies may process unsecured messages, and update the neighbor
cache as a result of such processing, thus allowing a malicious node cache as a result of such processing, thus allowing a malicious node
to divert or hijack traffic. This may undermine the advantages of to divert or hijack traffic. This may undermine the advantages of
using SEND [RFC3971]. using SEND [RFC3971].
skipping to change at page 25, line 35 skipping to change at page 27, line 14
6. Security Considerations 6. Security Considerations
This memo attempts to give an overview of security considerations of This memo attempts to give an overview of security considerations of
the different aspects of IPv6, particularly as they relate to the the different aspects of IPv6, particularly as they relate to the
transition to a network in which IPv4- and IPv6-based communications transition to a network in which IPv4- and IPv6-based communications
need to coexist. need to coexist.
7. Acknowledgements 7. Acknowledgements
Alain Durand, Alain Baudot, Luc Beloeil, Andras Kis-Szabo, Alvaro Alain Durand, Alain Baudot, Luc Beloeil, Tim Chown, Andras Kis-Szabo,
Vives, Janos Mohacsi and Mark Smith provided feedback to improve this Alvaro Vives, Janos Mohacsi and Mark Smith provided feedback to
memo. Satoshi Kondo, Shinsuke Suzuki and Alvaro Vives provided improve this memo. Satoshi Kondo, Shinsuke Suzuki and Alvaro Vives
additional inputs in cooperation with the Deployment Working Group of provided additional inputs in cooperation with the Deployment Working
the Japanese IPv6 Promotion Council and the Euro6IX IST co-funded Group of the Japanese IPv6 Promotion Council and the Euro6IX IST co-
project, together with inputs from Jordi Palet, Brian Carpenter, and funded project, together with inputs from Jordi Palet, Brian
Peter Bieringer. Michael Wittsend and Michael Cole discussed issues Carpenter, and Peter Bieringer. Michael Wittsend and Michael Cole
relating to probing/mapping and privacy. discussed issues relating to probing/mapping and privacy.
8. References 8. References
8.1 Normative References 8.1. Normative References
[I-D.huitema-v6ops-teredo] [I-D.huitema-v6ops-teredo]
Huitema, C., "Teredo: Tunneling IPv6 over UDP through Huitema, C., "Teredo: Tunneling IPv6 over UDP through
NATs", draft-huitema-v6ops-teredo-05 (work in progress), NATs", draft-huitema-v6ops-teredo-05 (work in progress),
April 2005. April 2005.
[I-D.ietf-ipv6-privacy-addrs-v2] [I-D.ietf-ipv6-privacy-addrs-v2]
Narten, T., "Privacy Extensions for Stateless Address Narten, T., "Privacy Extensions for Stateless Address
Autoconfiguration in IPv6", Autoconfiguration in IPv6",
draft-ietf-ipv6-privacy-addrs-v2-04 (work in progress), draft-ietf-ipv6-privacy-addrs-v2-04 (work in progress),
skipping to change at page 27, line 12 skipping to change at page 28, line 42
[RFC3775] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support [RFC3775] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support
in IPv6", RFC 3775, June 2004. in IPv6", RFC 3775, June 2004.
[RFC3810] Vida, R. and L. Costa, "Multicast Listener Discovery [RFC3810] Vida, R. and L. Costa, "Multicast Listener Discovery
Version 2 (MLDv2) for IPv6", RFC 3810, June 2004. Version 2 (MLDv2) for IPv6", RFC 3810, June 2004.
[RFC3964] Savola, P. and C. Patel, "Security Considerations for [RFC3964] Savola, P. and C. Patel, "Security Considerations for
6to4", RFC 3964, December 2004. 6to4", RFC 3964, December 2004.
8.2 Informative References 8.2. Informative References
[FNAT] Bellovin, S., "Technique for Counting NATted Hosts", Proc. [FNAT] Bellovin, S., "Technique for Counting NATted Hosts", Proc.
Second Internet Measurement Workshop , November 2002, Second Internet Measurement Workshop , November 2002,
<http://www.research.att.com/~smb/papers/fnat.pdf>. <http://www.research.att.com/~smb/papers/fnat.pdf>.
[I-D.chown-v6ops-port-scanning-implications] [I-D.chown-v6ops-port-scanning-implications]
Chown, T., "IPv6 Implications for TCP/UDP Port Scanning", Chown, T., "IPv6 Implications for TCP/UDP Port Scanning",
draft-chown-v6ops-port-scanning-implications-01 (work in draft-chown-v6ops-port-scanning-implications-01 (work in
progress), July 2004. progress), July 2004.
skipping to change at page 27, line 41 skipping to change at page 29, line 23
Filtering ICMPv6 Messages in Firewalls", Filtering ICMPv6 Messages in Firewalls",
draft-davies-v6ops-icmpv6-filtering-bcp-00 (work in draft-davies-v6ops-icmpv6-filtering-bcp-00 (work in
progress), July 2005. progress), July 2005.
[I-D.dupont-ipv6-rfc3041harmful] [I-D.dupont-ipv6-rfc3041harmful]
Dupont, F. and P. Savola, "RFC 3041 Considered Harmful", Dupont, F. and P. Savola, "RFC 3041 Considered Harmful",
draft-dupont-ipv6-rfc3041harmful-05 (work in progress), draft-dupont-ipv6-rfc3041harmful-05 (work in progress),
June 2004. June 2004.
[I-D.ietf-dnsop-ipv6-dns-issues] [I-D.ietf-dnsop-ipv6-dns-issues]
Durand, A., Ihren, J., and P. Savola, "Operational Durand, A., "Operational Considerations and Issues with
Considerations and Issues with IPv6 DNS", IPv6 DNS", draft-ietf-dnsop-ipv6-dns-issues-11 (work in
draft-ietf-dnsop-ipv6-dns-issues-10 (work in progress), progress), July 2005.
October 2004.
[I-D.ietf-ipv6-host-load-sharing]
Hinden, R. and D. Thaler, "IPv6 Host to Router Load
Sharing", draft-ietf-ipv6-host-load-sharing-04 (work in
progress), June 2005.
[I-D.ietf-ipv6-ndproxy] [I-D.ietf-ipv6-ndproxy]
Thaler, D., "Neighbor Discovery Proxies (ND Proxy)", Thaler, D., "Neighbor Discovery Proxies (ND Proxy)",
draft-ietf-ipv6-ndproxy-03 (work in progress), July 2005. draft-ietf-ipv6-ndproxy-03 (work in progress), July 2005.
[I-D.ietf-ipv6-node-requirements]
Loughney, J., "IPv6 Node Requirements",
draft-ietf-ipv6-node-requirements-11 (work in progress),
August 2004.
[I-D.ietf-ipv6-router-selection]
Draves, R. and D. Thaler, "Default Router Preferences and
More-Specific Routes", draft-ietf-ipv6-router-selection-07
(work in progress), January 2005.
[I-D.ietf-mip6-ro-sec] [I-D.ietf-mip6-ro-sec]
Nikander, P., "Mobile IP version 6 Route Optimization Nikander, P., "Mobile IP version 6 Route Optimization
Security Design Background", draft-ietf-mip6-ro-sec-03 Security Design Background", draft-ietf-mip6-ro-sec-03
(work in progress), May 2005. (work in progress), May 2005.
[I-D.ietf-v6ops-nap] [I-D.ietf-v6ops-nap]
Velde, G., "IPv6 Network Architecture Protection", Velde, G., "IPv6 Network Architecture Protection",
draft-ietf-v6ops-nap-01 (work in progress), June 2005. draft-ietf-v6ops-nap-01 (work in progress), June 2005.
[I-D.ietf-v6ops-v6onbydefault] [I-D.ietf-v6ops-v6onbydefault]
skipping to change at page 29, line 10 skipping to change at page 31, line 5
[I-D.savola-v6ops-transarch] [I-D.savola-v6ops-transarch]
Savola, P., "A View on IPv6 Transition Architecture", Savola, P., "A View on IPv6 Transition Architecture",
draft-savola-v6ops-transarch-03 (work in progress), draft-savola-v6ops-transarch-03 (work in progress),
January 2004. January 2004.
[I-D.schild-v6ops-guide-v4mapping] [I-D.schild-v6ops-guide-v4mapping]
Schild, C., "Guide to Mapping IPv4 to IPv6 Subnets", Schild, C., "Guide to Mapping IPv4 to IPv6 Subnets",
draft-schild-v6ops-guide-v4mapping-00 (work in progress), draft-schild-v6ops-guide-v4mapping-00 (work in progress),
January 2004. January 2004.
[JpIPv6DC]
Deployment WG, "IPv6 Deployment Guideline (2005 Edition)",
IPv6 Promotion Council (Japan) Deployment Working Group,
2005, <http://www.v6pc.jp/>.
[RFC1858] Ziemba, G., Reed, D., and P. Traina, "Security [RFC1858] Ziemba, G., Reed, D., and P. Traina, "Security
Considerations for IP Fragment Filtering", RFC 1858, Considerations for IP Fragment Filtering", RFC 1858,
October 1995. October 1995.
[RFC2401] Kent, S. and R. Atkinson, "Security Architecture for the [RFC2401] Kent, S. and R. Atkinson, "Security Architecture for the
Internet Protocol", RFC 2401, November 1998. Internet Protocol", RFC 2401, November 1998.
[RFC2765] Nordmark, E., "Stateless IP/ICMP Translation Algorithm [RFC2765] Nordmark, E., "Stateless IP/ICMP Translation Algorithm
(SIIT)", RFC 2765, February 2000. (SIIT)", RFC 2765, February 2000.
[RFC2766] Tsirtsis, G. and P. Srisuresh, "Network Address [RFC2766] Tsirtsis, G. and P. Srisuresh, "Network Address
Translation - Protocol Translation (NAT-PT)", RFC 2766, Translation - Protocol Translation (NAT-PT)", RFC 2766,
February 2000. February 2000.
[RFC3128] Miller, I., "Protection Against a Variant of the Tiny [RFC3128] Miller, I., "Protection Against a Variant of the Tiny
Fragment Attack (RFC 1858)", RFC 3128, June 2001. Fragment Attack (RFC 1858)", RFC 3128, June 2001.
[RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
and M. Carney, "Dynamic Host Configuration Protocol for
IPv6 (DHCPv6)", RFC 3315, July 2003.
[RFC3756] Nikander, P., Kempf, J., and E. Nordmark, "IPv6 Neighbor [RFC3756] Nikander, P., Kempf, J., and E. Nordmark, "IPv6 Neighbor
Discovery (ND) Trust Models and Threats", RFC 3756, Discovery (ND) Trust Models and Threats", RFC 3756,
May 2004. May 2004.
[RFC3971] Arkko, J., Kempf, J., Zill, B., and P. Nikander, "SEcure [RFC3971] Arkko, J., Kempf, J., Zill, B., and P. Nikander, "SEcure
Neighbor Discovery (SEND)", RFC 3971, March 2005. Neighbor Discovery (SEND)", RFC 3971, March 2005.
[RFC4029] Lind, M., Ksinant, V., Park, S., Baudot, A., and P. [RFC4029] Lind, M., Ksinant, V., Park, S., Baudot, A., and P.
Savola, "Scenarios and Analysis for Introducing IPv6 into Savola, "Scenarios and Analysis for Introducing IPv6 into
ISP Networks", RFC 4029, March 2005. ISP Networks", RFC 4029, March 2005.
[RFC4038] Shin, M-K., Hong, Y-G., Hagino, J., Savola, P., and E. [RFC4038] Shin, M-K., Hong, Y-G., Hagino, J., Savola, P., and E.
Castro, "Application Aspects of IPv6 Transition", Castro, "Application Aspects of IPv6 Transition",
RFC 4038, March 2005. RFC 4038, March 2005.
[RFC4074] Morishita, Y. and T. Jinmei, "Common Misbehavior Against [RFC4074] Morishita, Y. and T. Jinmei, "Common Misbehavior Against
DNS Queries for IPv6 Addresses", RFC 4074, May 2005. DNS Queries for IPv6 Addresses", RFC 4074, May 2005.
Authors' Addresses [SIXNET] 6Net, "Large Scale International IPv6 Pilot Network", EU
Information Society Technologies Project , 2005,
Elwyn B. Davies <http://www.6net.org/>.
Consultant
Soham, Cambs
UK
Phone: +44 7889 488 335
Email: elwynd@dial.pipex.com
Suresh Krishnan
Ericsson
8400 Decarie Blvd.
Town of Mount Royal, QC H4P 2N2
Canada
Phone: +1 514-345-7900
Email: suresh.krishnan@ericsson.com
Pekka Savola
CSC/Funet
Email: psavola@funet.fi
Appendix A. IPv6 Probing/Mapping Considerations Appendix A. IPv6 Probing/Mapping Considerations
One school of thought wants the IPv6 numbering topology (either at One school of thought wants the IPv6 numbering topology (either at
network or node level) [I-D.schild-v6ops-guide-v4mapping] to match network or node level) [I-D.schild-v6ops-guide-v4mapping] to match
IPv4 as exactly as possible, whereas others see IPv6 as giving more IPv4 as exactly as possible, whereas others see IPv6 as giving more
flexibility to the address plans, not wanting to constrain the design flexibility to the address plans, not wanting to constrain the design
of IPv6 addressing. Mirroring the address plans may also be seen as of IPv6 addressing. Mirroring the address plans may also be seen as
a security threat because an IPv6 deployment may have different a security threat because an IPv6 deployment may have different
security properties from IPv4. security properties from IPv4.
skipping to change at page 31, line 24 skipping to change at page 32, line 47
implementation uses the address 2002:V4ADDR::V4ADDR while older Linux implementation uses the address 2002:V4ADDR::V4ADDR while older Linux
and FreeBSD implementations default to 2002:V4ADDR::1. This could and FreeBSD implementations default to 2002:V4ADDR::1. This could
also be used as one way to identify an implementation and hence also be used as one way to identify an implementation and hence
target any specific weaknesses. target any specific weaknesses.
One proposal has been to randomize the addresses or subnet identifier One proposal has been to randomize the addresses or subnet identifier
in the address of the 6to4 router. This does not really help, as the in the address of the 6to4 router. This does not really help, as the
6to4 router (whether a host or a router) will return an ICMPv6 Hop 6to4 router (whether a host or a router) will return an ICMPv6 Hop
Limit Exceeded message, revealing the IP address. Hosts behind the Limit Exceeded message, revealing the IP address. Hosts behind the
6to4 router can use methods such as RFC 3041 addresses to conceal 6to4 router can use methods such as RFC 3041 addresses to conceal
themselves, though. themselves, provided that they are not meant to be reachable by
sessions started from elsewhere: they would still require a globally
accessible static address if they wish to receive communications
initiated elsewhere.
To conclude, it seems that when an automatic tunneling mechanism is To conclude, it seems that when an automatic tunneling mechanism is
being used, given an IPv4 address, the corresponding IPv6 address being used, given an IPv4 address, the corresponding IPv6 address
could possibly be guessed with relative ease. This has significant could possibly be guessed with relative ease. This has significant
implications if the IPv6 security policy is less adequate than that implications if the IPv6 security policy is less adequate than that
for IPv4. for IPv4.
Appendix B. IPv6 Privacy Considerations Appendix B. IPv6 Privacy Considerations
The generation of IPv6 addresses of IPv6 addresses from MAC addresses The generation of IPv6 addresses of IPv6 addresses from MAC addresses
potentially allows the behavior of users to be tracked in a way which potentially allows the behavior of users to be tracked in a way which
may infringe their privacy. [RFC3041] specifies mechanisms which can may infringe their privacy. [RFC3041] specifies mechanisms which can
be used to reduce the risk of infringement. It has also been claimed be used to reduce the risk of infringement. It has also been claimed
that IPv6 harms the privacy of the user, either by exposing the MAC that IPv6 harms the privacy of the user, either by exposing the MAC
address, or by exposing the number of nodes connected to a site. address, or by exposing the number of nodes connected to a site.
B.1 Exposing MAC Addresses Additional discussion of privacy issues can be found in the IPv6
Network Architecture Protection document [I-D.ietf-v6ops-nap].
B.1. Exposing MAC Addresses
Using stateless address autoconfiguration results in the MAC address Using stateless address autoconfiguration results in the MAC address
being incorporated in an EUI64 that exposes the model of network being incorporated in an EUI64 that exposes the model of network
card. The concern has been that a user might not want to expose the card. The concern has been that a user might not want to expose the
details of the system to outsiders, e.g., fearing a resulting details of the system to outsiders, e.g., fearing a resulting
burglary if a thief identifies expensive equipment from the vendor burglary if a thief identifies expensive equipment from the vendor
identifier embedded in MAC addresses. identifier embedded in MAC addresses.
In most cases, this seems completely unfounded. First, such an In most cases, this seems completely unfounded. First, such an
address must be learned somehow -- this is a non-trivial process; the address must be learned somehow -- this is a non-trivial process; the
skipping to change at page 32, line 16 skipping to change at page 33, line 44
(or whether it would be of any use) are quite slim. Being able to (or whether it would be of any use) are quite slim. Being able to
eavesdrop the traffic to learn such addresses (e.g., by the eavesdrop the traffic to learn such addresses (e.g., by the
compromise of DSL or Cable modem physical media) seems also quite compromise of DSL or Cable modem physical media) seems also quite
far-fetched. Further, using RFC 3041 addresses for such purposes is far-fetched. Further, using RFC 3041 addresses for such purposes is
straightforward if worried about the risk. Second, the burglar would straightforward if worried about the risk. Second, the burglar would
have to be able to map the IP address to the physical location; have to be able to map the IP address to the physical location;
typically this would only be possible with information from the typically this would only be possible with information from the
private customer database of the ISP and, for large sites, the private customer database of the ISP and, for large sites, the
administrative records of the site. administrative records of the site.
B.2 Exposing Multiple Devices B.2. Exposing Multiple Devices
Another concern that has been aired involves the user wanting to Another concern that has been aired involves the user wanting to
conceal the presence of a large number of computers or other devices conceal the presence of a large number of computers or other devices
connected to a network; NAT can "hide" all this equipment behind a connected to a network; NAT can "hide" all this equipment behind a
single address, but is not perfect either [FNAT]. single address, but is not perfect either [FNAT].
One practical reason why some administrators may find this desirable One practical reason why some administrators may find this desirable
is being able to thwart certain ISPs' business models. These models is being able to thwart certain ISPs' business models. These models
require payment based on the number of connected computers, rather require payment based on the number of connected computers, rather
than the connectivity as a whole. than the connectivity as a whole.
Similar feasibility issues as described above apply. To a degree, Similar feasibility issues as described above apply. To a degree,
the number of machines present could be obscured by the sufficiently the number of machines present could be obscured by the sufficiently
frequent re-use of RFC 3041 addresses -- that is, if during a short frequent re-use of RFC 3041 addresses -- that is, if during a short
period, dozens of generated addresses seem to be in use, it's period, dozens of generated addresses seem to be in use, it's
difficult to estimate whether they are generated by just one host or difficult to estimate whether they are generated by just one host or
multiple hosts. multiple hosts.
B.3 Exposing the Site by a Stable Prefix B.3. Exposing the Site by a Stable Prefix
When an ISP provides IPv6 connectivity to its customers, it delegates When an ISP provides IPv6 connectivity to its customers, it delegates
a fixed global routing prefix (usually a /48) to them. a fixed global routing prefix (usually a /48) to them.
Due to this fixed allocation, it is easier to correlate the global Due to this fixed allocation, it is easier to correlate the global
routing prefix to a network site. In case of consumer users, this routing prefix to a network site. In case of consumer users, this
correlation leads to a privacy issue, since a site is often correlation leads to a privacy issue, since a site is often
equivalent to an individual or a family in such a case. That is, equivalent to an individual or a family in such a case. That is,
some users might be concerned about being able to be tracked based on some users might be concerned about being able to be tracked based on
their /48 allocation if it is static [I-D.dupont-ipv6- their /48 allocation if it is static [I-D.dupont-ipv6-
rfc3041harmful]. rfc3041harmful]. On the other hand many users may find having a
static allocation desirable as it allows them to offer services
hosted in their network more easily.
This problem remains unsolved even when a user changes his/her This problem remains unsolved even when a user changes his/her
interface ID or subnet ID, because malicious users can still discover interface ID or subnet ID, because malicious users can still discover
this binding. This problem can be solved by untraceable IPv6 this binding. This problem can be solved by untraceable IPv6
addresses as described in [I-D.ietf-v6ops-nap]. addresses as described in [I-D.ietf-v6ops-nap].
Authors' Addresses
Elwyn B. Davies
Consultant
Soham, Cambs
UK
Phone: +44 7889 488 335
Email: elwynd@dial.pipex.com
Suresh Krishnan
Ericsson
8400 Decarie Blvd.
Town of Mount Royal, QC H4P 2N2
Canada
Phone: +1 514-345-7900
Email: suresh.krishnan@ericsson.com
Pekka Savola
CSC/Funet
Email: psavola@funet.fi
Intellectual Property Statement Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
 End of changes. 79 change blocks. 
224 lines changed or deleted 331 lines changed or added

This html diff was produced by rfcdiff 1.27, available from http://www.levkowetz.com/ietf/tools/rfcdiff/