<not wearing any hats> 1) The new versions since the previous WGLC introduced a number of additional steps (e.g. nonce payload, clarifying PAD etc.) to the redirection process, but currently these are spread over the whole document, or in some cases, partly missing (e.g. the document never says what the client should do with the nonce data in the REDIRECT notification). IMHO these should be included in the overall flow in Section 3. Proposed text:
3. IKEv2 Initial Exchange with Redirect This section describes the use of Redirect mechanism during the IKE_SA_INIT exchange. Gateway-initiated redirect and the use of redirect during IKE_AUTH exchange are explained in subsequent sections. The VPN client indicates support for the IKEv2 redirect mechanism and the willingness to be redirected by including a REDIRECT_SUPPORTED notification message in the initial IKE_SA_INIT request. If the IKE_SA_INIT request did not include the REDIRECT_SUPPORTED notification, the responder MUST NOT use the redirect mechanism specified in this document. To redirect the IKEv2 session to another VPN gateway, the VPN gateway that initially received the IKE_SA_INIT request selects another VPN gateway (how the selection is made is beyond the scope of this document), and replies with an IKE_SA_INIT response containing a REDIRECT notification message. The notification includes the address of the selected VPN gateway, and the nonce data from the Ni payload in the IKE_SA_INIT request. Note that when the IKE_SA_INIT response includes the REDIRECT notification, the exchange does not result in the creation of an IKE_SA, and the responder SPI will be zero. Initiator Responder (initial VPN GW) --------- ------------------------- (IP_I:500 -> Initial_IP_R:500) HDR(A,0), SAi1, KEi, Ni, --> N(REDIRECT_SUPPORTED) (Initial_IP_R:500 -> IP_I:500) <-- HDR(A,0), N(REDIRECT, IP_R, nonce data) When the client receives the IKE_SA_INIT response, it MUST verify that the nonce data matches the value sent in the IKE_SA_INIT request. If the values do not match, the client MUST silently discard the response (and keep waiting for another response). This prevents certain Denial-of-Service attacks on the initiator that could be caused by an attacker injecting IKE_SA_INIT responses with REDIRECT payloads. Next, the client initiates a new IKE_SA_INIT exchange to the address included in the REDIRECT payload. The VPN client includes the IP address of the original VPN gateway that redirected the client in the REDIRECTED_FROM notification. The IKEv2 exchange then proceeds as it would have proceeded with the original VPN gateway. Initiator Responder (Selected VPN GW) --------- --------------------------- (IP_I:500 -> IP_R:500) HDR(A,0), SAi1, KEi, Ni, --> N(REDIRECTED_FROM, Initial_IP_R) (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, SAr2, TSi, TSr} In particular, the client MUST use the same Peer Authorization Database (PAD) and Security Policy Database (SPD) entries as it would have used with the original gateway. Receiving a redirect notification MUST NOT result in the modification of any PAD or SPD entries. In practise, this means the new gateway either has to either use the same responder identity (IDr) as the original gateway, or the PAD entry must use wildcards (such as gw*.example.com) that match multiple responder identities. 2) As I already noted in my March 2 email, the document does not say exactly what information outside IPsec (i.e. Mobile IPv6) is being updated by the redirect, and the security implications if it. Perhaps something like this, added to the end of Section 3: When running IKEv2 between a Mobile IPv6 Mobile Node (MN) and Home Agent (HA), redirecting the IKEv2 exchange to another HA is not enough; the Mobile IPv6 signalling also needs to be sent to the new HA address. The MN MAY treat the information received in the IKE_SA_INIT response in similar way as it would treat HA discovery information received from other unauthenticated (and potentially untrustworthy) sources (such as DNS lookups not protected with DNSSEC). However, if the MN has authenticated information about its Home Agent, it MUST NOT be updated based on the IKE_SA_INIT response. If the REDIRECT notification is received during the IKE_AUTH exchange (after the HA has been authenticated; see Section 6), the MN MAY pass the new address to Mobile IPv6 and treat it in similar fashion as information from the Home Agent Switch Message [RFC5142]. Gateway-initiated REDIRECT notifications exchanged in INFORMATIONAL exchanges (see Section 5) MUST NOT result in updating any Mobile IPv6 state. In such cases, the Home Agent Switch Message specified in [RFC5142] are used instead. (I haven't fully thought through all the details, so comments are welcome...) And the security considerations text needs something, too. 3) Section 6, 1st paragraph: I think this text needs to be clearer about whether an IKE_SA is created or not (current the SHOULDs etc. make this somewhat unclear). IMHO if the client will always just close the IKE_SA, it doesn't make much sense to create it in the first place? But it looks like the intent of the current text might have been that the IKE_SA *is* created... If that's the case, then the message diagram below this paragraph should also show the INFORMATIONAL exchange with Delete payload. 4) Section 6, last paragraph: > In such cases, the gateway should send the REDIRECT notification > payload in the final IKE_AUTH response message that carries the AUTH > payload and the traffic selectors. The gateway MUST NOT send and > the client MUST NOT accept a redirect in an earlier IKE_AUTH > message. This is a bit confusing, since the first sentence says "should", and in this particular case, the final IKE_AUTH response does not actually have the traffic selectors! Also, if the intent was to allow redirect in the 1st IKE_AUTH response, this text doesn't do it. Perhaps something like this? In such cases, the gateway can include the REDIRECT notification either in the first IKE_AUTH response, or the last IKE_AUTH response. The gateway MUST NOT send, and the client MUST NOT accept, the REDIRECT notification in any other IKE_AUTH response. 5) Section 9, last paragraph, is a bit confusing (even if the redirect message was always authenticated, we still wouldn't want to modify the PAD based on it), and in the wrong place (it's important part of the protocol, not just a security consideration). The proposed text for Section 3 included the essential parts, I think. Best regards, Pasi > -----Original Message----- > From: ipsec-boun...@ietf.org [mailto:ipsec-boun...@ietf.org] On Behalf > Of ext Yaron Sheffer > Sent: 16 April, 2009 10:38 > To: IPsecme WG > Subject: [IPsec] WG Last Call: draft-ietf-ipsecme-ikev2-redirect-08 > > This is a 2 week working group last call for > draft-ietf-ipsecme-ikev2-redirect-08. The target status for this > document is > Proposed Standard. This is the document's second last call, following > comments by a number of people and several document revisions. > > Please send your comments to the ipsec list by April 30, 2009, as > follow-ups > to this message. > > Please clearly indicate the position of any issue in the Internet > Draft, and > if possible provide alternative text. Please also indicate the nature > or > severity of the error or correction, e.g. major technical, minor > technical, > nit, so that we can quickly judge the extent of problems with the > document. > > The document can be accessed here: > http://tools.ietf.org/html/draft-ietf-ipsecme-ikev2-redirect-08. > > Thanks, > Yaron _______________________________________________ IPsec mailing list IPsec@ietf.org https://www.ietf.org/mailman/listinfo/ipsec