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/ |