--- 1/draft-ietf-ipsecme-ikev2-redirect-03.txt 2009-02-09 20:12:02.000000000 +0100 +++ 2/draft-ietf-ipsecme-ikev2-redirect-04.txt 2009-02-09 20:12:03.000000000 +0100 @@ -1,19 +1,18 @@ Network Working Group V. Devarapalli Internet-Draft WiChorus Intended status: Standards Track K. Weniger -Expires: August 6, 2009 Panasonic - February 2, 2009 +Expires: August 13, 2009 February 9, 2009 Re-direct Mechanism for IKEv2 - draft-ietf-ipsecme-ikev2-redirect-03.txt + draft-ietf-ipsecme-ikev2-redirect-04.txt Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. @@ -22,21 +21,21 @@ and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. - This Internet-Draft will expire on August 6, 2009. + This Internet-Draft will expire on August 13, 2009. Copyright Notice Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents @@ -57,50 +56,53 @@ Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. IKEv2 Exchange with Redirect . . . . . . . . . . . . . . . . . 4 4. Use of Anycast Addresses with the Re-direct Mechanism . . . . 5 5. Gateway Initiated Redirect . . . . . . . . . . . . . . . . . . 6 6. Redirect Messages . . . . . . . . . . . . . . . . . . . . . . 7 6.1. REDIRECT_SUPPORTED . . . . . . . . . . . . . . . . . . . . 7 - 6.2. REDIRECT . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 6.3. REDIRECTED_FROM . . . . . . . . . . . . . . . . . . . . . 8 - 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 - 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 - 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 - 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 10.1. Normative References . . . . . . . . . . . . . . . . . . . 10 - 10.2. Informative References . . . . . . . . . . . . . . . . . . 10 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 + 6.2. REDIRECT . . . . . . . . . . . . . . . . . . . . . . . . . 8 + 6.3. REDIRECTED_FROM . . . . . . . . . . . . . . . . . . . . . 9 + 7. Use of the Redirect Mechanism between IKEv2 Peers . . . . . . 10 + 8. Security Considerations . . . . . . . . . . . . . . . . . . . 10 + 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 + 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11 + 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 + 11.1. Normative References . . . . . . . . . . . . . . . . . . . 11 + 11.2. Informative References . . . . . . . . . . . . . . . . . . 11 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12 1. Introduction IKEv2 [2] is used for setting up IPsec-based VPNs. The IP address of the VPN gateway can be configured on the VPN client. But this does not scale well, when the number of VPN gateways is large. Dynamic discovery of VPN gateways using DNS is quite widely used too. However, using DNS is not flexible when it comes to assigning a VPN gateway to the VPN client based on the load on the VPN gateways. The VPN client typically tries to connect to the IP address of the VPN gateways that appears first in the DNS response. If the VPN tunnel setup fails, then the VPN client tries to attach to the other VPN gateways returned in the DNS response. This document proposes a re-direct mechanism for IKEv2 that enables a VPN gateway to re-direct the VPN client to another VPN gateway, for - example, based on the load condition. The re-direct is done during - the IKE_SA_INIT exchange. The re-direct mechanism can also be used - in conjunction with anycast addresses. In this case, anycast address - for the cluster of VPN gateways is stored in the DNS instead of a - list of unicast IP addresses of the VPN gateways. + example, based on the load condition. The re-direct can be done + during during the IKE_SA_INIT or the IKE_AUTH exchange. Gateway- + initiated re-direct in the middle of a session is also supported. + The re-direct mechanism can also be used in conjunction with anycast + addresses. In this case, anycast address for the cluster of VPN + gateways is stored in the DNS instead of a list of unicast IP + addresses of the VPN gateways. The re-direct can also happen because of administrative or optimal routing reasons. This document does not attempt to provide an exhaustive list of reasons for re-directing a VPN client to another VPN gateway. Mobile IPv6 [3] may use IKEv2 for mutual authentication between the mobile node and the home agent. IKEv2 may also be used for home address configuration and setting up IPsec security associations for protecting Mobile IPv6 signaling messages [4]. The IKEv2 exchange @@ -244,20 +246,56 @@ Once the client sends an acknowledgement to the gateway, it SHOULD delete the existing security associations with the old gateway by sending an Informational message with a DELETE payload. The gateway MAY also decide to delete the security associations without any signaling from the client. However, it should allow sufficient time for the client to setup the required security associations with the new security gateway. This time period should be configurable on the gateway. + If the gateway decides to re-direct the client during the IKE_AUTH + exchange, it prevents the creation of a CHILD SA by sending the + NO_ADDITIONAL_SAS Notify Payload in the IKE_AUTH response. It then + follows up with an INFORMATIONAL message with the REDIRECT payload + immediately. The following shows the message exchange between the + client and the gateway. + + Initiator Responder ( VPN GW) + --------- ------------------- + + (IP_I:500 -> IP_R:500) + HDR(A,0), SAi1, KEi, Ni, --> + N(REDIRECTED_SUPPORTED) + + (IP_R:500 -> IP_I:500) + <-- HDR(A,B), SAr1, KEr, Nr,[CERTREQ] + + (IP_I:500 -> IP_R:500) + HDR(A,B), SK {IDi, [CERT,] [CERTREQ,] + [IDr,]AUTH, SAi2, TSi, TSr} --> + + (IP_R:500 -> IP_I:500) + <-- HDR(A,B), SK {IDr, [CERT,] AUTH, + N(NO_ADDITIONAL_SAS)} + + <-- HDR, SK {N[REDIRECT, IP_R/FQDN_R]} + + HDR, SK {} --> + + When the client receives the IKE_AUTH response with the + NO_ADDITIONAL_SAS payload from the gateway, it may decide to delete + the IKEv2 SA. In case the gateway receives the INFORMATIONAL message + to delete the IKEv2 SA before sending the REDIRECT message, then the + gateway includes the REDIRECT payload in the response along with the + DELETE payload. + 6. Redirect Messages 6.1. REDIRECT_SUPPORTED The REDIRECT_SUPPORTED payload is included in the initial IKE_SA_INIT request by the initiator to indicate support for the IKEv2 re-direct mechanism described in this document. 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 @@ -352,75 +390,97 @@ information that is sent to identify the new VPN gateway. The following values are reserved by this document. 1 - IPv4 address of the original VPN gateway 2 - IPv6 address of the original VPN gateway All other values for this field are reserved and MUST NOT be used. The identity of the original VPN gateway is carried in the 'Original Responder GW Identity' field. -7. Security Considerations +7. Use of the Redirect Mechanism between IKEv2 Peers + + The Re-direct mechanism described in this document is mainly intended + for use in client-gateway scenarios. However, the mechanism can also + be used between any two IKEv2 peers. This is especially useful for + IKEv2 sessions between two gateway peer routers. + + When used between a client and gateway, the re-direct procedure is + always initiated by the gateway. But when used between two IKEv2 + peers, either of the IKEv2 end points can initiate the re-direct + message. In order to prevent any race condition that might occur if + both decide to re-direct at the same time, the responder MUST NOT + respond to re-direct message from the initiator, if it has already + decided to re-direct the initiator. + + Both IKEv2 peers SHOULD indicate support for the re-direct mechanism + if they support it and are willing to process REDIRECT notification + messages. This is done by including the REDIRECT_SUPPORTED payload + in the IKE_SA_INIT exchange by both peers. REDIRECT Notification + messages MUST NOT be sent unless the peer has indicated support for + it. + +8. Security Considerations An eavesdropper on the path between VPN client and server may send a redirect to the client upon receiving an IKE_SA_INIT message from this client. This is no problem regarding DoS attacks for the VPN connection, since an on-path-attacker can as well drop the IKE_SA_INIT requests to prevent VPN access for the client. But an eavesdropper on the path between VPN client and server can redirect a large number of clients to a victim, which is then flooded with IKE_SA_INIT requests. Flooding only happens if many clients initiate IKEv2 exchange at almost the same time, which is considered a rare event. However, this may happen if a Home Agent/VPN server is shutdown for maintenance and all clients need to re-establish VPN connections with another Home Agent/VPN server or if the on-path attacker forces all IPsec security associations to expire by dropping all received IKEv2 messages. The use of REDIRECTED_FROM payload is intended to discourage a rogue VPN gateway from re-directing a large number of VPN clients to a particular VPN gateway. It does not prevent such a DoS attack. -8. IANA Considerations +9. IANA Considerations This document defines four new IKEv2 Notification Message types as - described in Section 6. The four Notify Message Types must be + described in Section 6. The three Notify Message Types must be assigned values between 16396 and 40959. o REDIRECT_SUPPORTED o REDIRECT o REDIRECTED_FROM -9. Acknowledgements +10. Acknowledgements The use of anycast address with IKEv2 was first described in [6]. It was then added to an early draft version of RFC 5026 and later removed before the RFC was published. Therefore the authors of [6] and RFC 5026 are acknowledged. Thanks to Pasi Eronen, with whom the solution described in this document was extensively discussed. Thanks to Tero Kivinen for suggesting the use of REDIRECTED_FROM payload. The authors would also like to thank Yaron Sheffer, Sunil Kumar, Fan Zhao, Yoav Nir and Arnaud Ebalard for their reviews and comments. -10. References +11. References -10.1. Normative References +11.1. Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", RFC 4306, December 2005. -10.2. Informative References +11.2. Informative References [3] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in IPv6", RFC 3775, June 2004. [4] Giaretta, G., Kempf, J., and V. Devarapalli, "Mobile IPv6 Bootstrapping in Split Scenario", RFC 5026, October 2007. [5] Haley, B., Devarapalli, V., Deng, H., and J. Kempf, "Mobility Header Home Agent Switch Message", RFC 5142, January 2008. @@ -431,17 +491,13 @@ Authors' Addresses Vijay Devarapalli WiChorus 3590 North First St San Jose, CA 95134 USA Email: vijay@wichorus.com - Killian Weniger - Panasonic R&D Center Germany - Monzastr. 4c - Langen 63225 - Germany + Kilian Weniger - Email: kilian.weniger@eu.panasonic.com + Email: kilian.weniger@googlemail.com