Network Working Group A. Matsumoto Request for Comments: 5221 T. Fujisaki Category: Informational NTT R. Hiromi Intec NetCore K. Kanayama INTEC Systems July 2008 Requirements for Address Selection Mechanisms Status of This Memo This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. Abstract There are some problematic cases when using the default address selection mechanism that RFC 3484 defines. This document describes additional requirements that operate with RFC 3484 to solve the problems. Table of Contents 1. Introduction ....................................................2 2. Requirements of Address Selection ...............................2 2.1. Effectiveness ..............................................2 2.2. Timing .....................................................2 2.3. Dynamic Behavior Update ....................................3 2.4. Node-Specific Behavior .....................................3 2.5. Application-Specific Behavior ..............................3 2.6. Multiple Interface .........................................3 2.7. Central Control ............................................3 2.8. Next-Hop Selection .........................................3 2.9. Compatibility with RFC 3493 ................................4 2.10. Compatibility and Interoperability with RFC 3484 ..........4 2.11. Security ..................................................4 3. Security Considerations .........................................4 3.1. List of Threats Introduced by New Address-Selection Mechanism ..................................................4 3.2. List of Recommendations in Which Security Mechanism Should Be Applied ..........................................5 4. Normative References ............................................5 Matsumoto, et al. Informational [Page 1] RFC 5221 Address-Selection Reqs July 2008 1. Introduction Today, the RFC 3484 [RFC3484] mechanism is widely implemented in major OSs. However, in many sites, the default address-selection rules are not appropriate, and cause a communication failure. The problem statement (PS) document [RFC5220] lists problematic cases that resulted from incorrect address selection. Though RFC 3484 made the address-selection behavior of a host configurable, typical users cannot make use of that because of the complexity of the mechanism and lack of knowledge about their network topologies. Therefore, an address-selection autoconfiguration mechanism is necessary, especially for unmanaged hosts of typical users. This document contains requirements for address-selection mechanisms that enable hosts to perform appropriate address selection automatically. 2. Requirements of Address Selection Address-selection mechanisms have to fulfill the following eleven requirements. 2.1. Effectiveness The mechanism can modify RFC 3484 default address-selection behavior at nodes. As documented in the PS [RFC5220], the default rules defined in RFC 3484 do not work properly in some environments. Therefore, the mechanism has to be able to modify the address- selection behavior of a host and to solve the problematic cases described in the PS document. 2.2. Timing Nodes can perform appropriate address selection when they select addresses. If nodes need to have address-selection information to perform appropriate address selection, then the mechanism has to provide a function for nodes to obtain the necessary information beforehand. The mechanism should not degrade usability. The mechanism should not enforce long address-selection processing time upon users. Therefore, forcing every consumer user to manipulate the address- selection policy table is usually not an acceptable solution. So, in this case, some kind of autoconfiguration mechanism is desirable. Matsumoto, et al. Informational [Page 2] RFC 5221 Address-Selection Reqs July 2008 2.3. Dynamic Behavior Update The address-selection behavior of nodes can be dynamically updated. When the network structure changes and the address-selection behavior has to be changed accordingly, a network administrator can modify the address-selection behavior of nodes. 2.4. Node-Specific Behavior The mechanism can support node-specific address-selection behavior. Even when multiple nodes are on the same subnet, the mechanism should be able to provide a method for the network administrator to make nodes behave differently. For example, each node may have a different set of assigned prefixes. In such a case, the appropriate address-selection behavior may be different. 2.5. Application-Specific Behavior The mechanism can support application-specific address-selection behavior or combined use with an application-specific address- selection mechanism such as address-selection APIs. 2.6. Multiple Interface The mechanism can support those nodes equipped with multiple interfaces. The mechanism has to assume that nodes have multiple interfaces and makes address selection of those nodes work appropriately. 2.7. Central Control The address-selection behavior of nodes can be centrally controlled. A site administrator or a service provider could determine or could have an effect on the address-selection behavior at their users' hosts. 2.8. Next-Hop Selection The mechanism can control next-hop-selection behavior at hosts or cooperate with other routing mechanisms, such as routing protocols and RFC 4191 [RFC4191]. If the address-selection mechanism is used with a routing mechanism, the two mechanisms have to be able to work synchronously. Matsumoto, et al. Informational [Page 3] RFC 5221 Address-Selection Reqs July 2008 2.9. Compatibility with RFC 3493 The mechanism can allow an application that uses the basic socket interface defined in RFC 3493 [RFC3493] to work correctly. That is, with the basic socket interface the application can select appropriate source and destination addresses and can communicate with the destination host. This requirement does not necessarily mean that OS protocol stack and socket libraries should not be changed. 2.10. Compatibility and Interoperability with RFC 3484 The mechanism is compatible with RFC 3484. Now that RFC 3484 is widely implemented, it is preferable that a new address selection mechanism does not conflict with the address selection mechanisms defined in RFC 3484. If the solution mechanism changes or replaces the address-selection mechanism defined in RFC 3484, interoperability has to be retained. That is, a host with the new solution mechanism and a host with the mechanism of RFC 3484 have to be interoperable. 2.11. Security The mechanism works without any security problems. Possible security threats are described in the Security Considerations section of this document. 3. Security Considerations 3.1. List of Threats Introduced by New Address-Selection Mechanism There will be some security incidents when combining the requirements described in Section 2 into a protocol. In particular, there are 3 types of threats: leakage, hijacking, and denial of service. 1. Leakage: Malicious nodes may tap to collect the network policy information and leak it to unauthorized parties. 2. Hijacking: Nodes may be hijacked by malicious injection of illegitimate policy information. RFC 3484 defines both a source and destination selection algorithm. An attacker able to inject malicious policy information could redirect packets sent by a victim node to an intentionally chosen server that would scan the victim node activities to find vulnerable code. Once vulnerable code is found, the attacker can take control of the victim node. Matsumoto, et al. Informational [Page 4] RFC 5221 Address-Selection Reqs July 2008 3. Denial of Service: This is an attack on the ability of nodes to communicate in the absence of the address-selection policy. An attacker could launch a flooding attack on the controller to prevent it from delivering the address selection policy information to nodes, thus preventing those nodes from appropriately communicating. 3.2. List of Recommendations in Which Security Mechanism Should Be Applied The address selection mechanism should be afforded security services listed below. It is preferable that these security services are afforded via use of existing protocols (e.g., IPsec). 1. Integrity of the network policy information itself and the messages exchanged in the protocol. This is a countermeasure against leakage, hijacking, and denial of service. 2. Authentication and authorization of parties involved in the protocol. This is a countermeasure against Leakage and Hijacking. 4. Normative References [RFC3484] Draves, R., "Default Address Selection for Internet Protocol version 6 (IPv6)", RFC 3484, February 2003. [RFC3493] Gilligan, R., Thomson, S., Bound, J., McCann, J., and W. Stevens, "Basic Socket Interface Extensions for IPv6", RFC 3493, February 2003. [RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and More-Specific Routes", RFC 4191, November 2005. [RFC5220] Matsumoto, A., Fujisaki, T., Hiromi, R., and K. Kanayama, "Problem Statement for Default Address Selection in Multi-Prefix Environments: Operational Issues of RFC 3484 Default Rules", RFC 5220, July 2008. Matsumoto, et al. Informational [Page 5] RFC 5221 Address-Selection Reqs July 2008 Authors' Addresses Arifumi Matsumoto NTT PF Lab Midori-Cho 3-9-11 Musashino-shi, Tokyo 180-8585 Japan Phone: +81 422 59 3334 EMail: arifumi@nttv6.net Tomohiro Fujisaki NTT PF Lab Midori-Cho 3-9-11 Musashino-shi, Tokyo 180-8585 Japan Phone: +81 422 59 7351 EMail: fujisaki@nttv6.net Ruri Hiromi Intec Netcore, Inc. Shinsuna 1-3-3 Koto-ku, Tokyo 136-0075 Japan Phone: +81 3 5665 5069 EMail: hiromi@inetcore.com Ken-ichi Kanayama INTEC Systems Institute, Inc. Shimoshin-machi 5-33 Toyama-shi, Toyama 930-0804 Japan Phone: +81 76 444 8088 EMail: kanayama_kenichi@intec-si.co.jp Matsumoto, et al. Informational [Page 6] RFC 5221 Address-Selection Reqs July 2008 Full Copyright Statement Copyright (C) The IETF Trust (2008). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Matsumoto, et al. Informational [Page 7]