I guess, but it's still using one notification to announce another notification.
On Aug 25, 2013, at 1:08 PM, Yaron Sheffer <yaronf.i...@gmail.com> wrote: > And this would imply support for Childless, too? > > Thanks, > Yaron > > On 2013-08-25 13:01, Yoav Nir wrote: >> Or do my other favorite thing with a "support_cafr" notification in the >> Initial exchange, so that support indicates that you understand protocol=1 >> and SPI size=16. >> >> If we ever do an IKEv3, we need a "Features" payload, where optional >> capabilities be listed in compact form. That and replacing "Next Payload" >> with "This Payload" >> >> Yoav >> >> On Aug 25, 2013, at 12:07 PM, Yaron Sheffer <yaronf.i...@gmail.com> wrote: >> >>> Thanks for pointing me to the registry! >>> >>> I'm not worried about creative interpretations. More about existing >>> implementations doing the wrong thing. So yes, maybe we should register a >>> new value. >>> >>> Thanks, >>> Yaron >>> >>> On 2013-08-25 11:47, Yoav Nir wrote: >>>> I read section 3.10 in RFC 4306, and it says this: >>>> >>>> o Protocol ID (1 octet) - If this notification concerns an existing >>>> SA, this field indicates the type of that SA. For IKE_SA >>>> notifications, this field MUST be one (1). For notifications >>>> concerning IPsec SAs this field MUST contain either (2) to >>>> indicate AH or (3) to indicate ESP. For notifications that do not >>>> relate to an existing SA, this field MUST be sent as zero and MUST >>>> be ignored on receipt. All other values for this field are >>>> reserved to IANA for future assignment. >>>> >>>> o SPI Size (1 octet) - Length in octets of the SPI as defined by the >>>> IPsec protocol ID or zero if no SPI is applicable. For a >>>> notification concerning the IKE SA, the SPI Size MUST be zero and >>>> the field must be empty. >>>> >>>> Sure there is a registry: >>>> http://www.iana.org/assignments/ikev2-parameters/ikev2-parameters.xhtml#ikev2-parameters-18 >>>> . There are even values #4 and #5. But I see that bit about SPI size >>>> having to be zero, because it is assumed that notification about IKE SA >>>> only relate to *this* IKE SA. >>>> >>>> So we can creatively interpret "the IKE SA" to be different from "an IKE >>>> SA", or we can ask IANA to add a new value with meaning "other IKE SA". >>>> Agree it's a corner case. >>>> >>>> -----Original Message----- >>>> From: Yaron Sheffer [mailto:yaronf.i...@gmail.com] >>>> Sent: Sunday, August 25, 2013 11:12 AM >>>> To: Yoav Nir >>>> Cc: IPsecme WG >>>> Subject: Re: [IPsec] CAFR -01 comments >>>> >>>> Hi Yoav, >>>> >>>> Regarding the notification syntax, it is actually a bit worse than that. >>>> This is a corner case in the RFC, but if you read Sec. 3.10 literally, >>>> there are exactly 2 allowed values for the Protocol ID field (or 3 values, >>>> if you read RFC 4306). There is no extensibility defined, and no IANA >>>> registry either. So a responder would be correct if it replied with an >>>> INVALID_SYNTAX rather than ignoring your notification, if it doesn't >>>> recognize it. >>>> >>>> And the value you are using (1) comes from RFC 2407 and has never existed >>>> in IKEv2. Ugh. >>>> >>>> Thanks, >>>> Yaron >>>> >>>> On 2013-08-25 10:53, Yoav Nir wrote: >>>>> >>>>> On Aug 25, 2013, at 9:45 AM, Yaron Sheffer <yaronf.i...@gmail.com> wrote: >>>>> >>>>>> Hi Yoav, >>>>>> >>>>>> I started by reading -01, then went back to -00. And I think the two can >>>>>> be merged to create a better solution. >>>>>> >>>>>> Including the notification as soon as the peers know they want a >>>>>> handover is cleaner. So IKE_AUTH (of the new SA) is better than DELETE, >>>>>> and in fact IKE_SA_INIT would be even more useful because then you can >>>>>> define that all such IKE SAs are implicitly childless, and avoid the >>>>>> need for the RFC 6023 notification. >>>>>> >>>>>> CAFR -01 says a peer is allowed to hand over the Child SAs if it >>>>>> successfully authenticates to the other peer and has the same >>>>>> authenticated identity. Seems to me this is symmetric, i.e. it doesn't >>>>>> matter if the exchange is run over the "old" or the "new" IKE SA. And so >>>>>> this could apply just as well to -00, and the POP stuff is not needed. >>>>>> >>>>>> I'm not sure about the race discussion in -00, because it only applies >>>>>> in failure cases. Can't an attacker "swallow" a few DELETE messages or >>>>>> their responses and cause a similar database mismatch? >>>>> >>>>> I hope they can't. Informationals with DELETEs are just like any other >>>>> IKEv2 exchange. If at active attacker swallows DELETEs or their >>>>> responses, eventually at least one side loses the IKE SA. >>>>> >>>>> But with regular initial IKE, there is an asymmetry. The Responder >>>>> verifies the IKE_AUTH request, generates the Response, sends it, and >>>>> believes that everything is just fine. Then the Initiator gets the >>>>> IKE_AUTH response, and decides that something is wrong. Maybe the >>>>> certificate has just expired, or the OCSP server is unreachable, or the >>>>> new certificate does not have the proper extended key usage. So we have >>>>> an asymmetry, where the Responder believes that IKE_AUTH succeeded, while >>>>> the Initiator believes that it failed. The Initiator quickly rectifies >>>>> this with a DELETE, but that takes some time (milliseconds, but still - >>>>> time). >>>>> >>>>> So if we tie some action on the part of both parties to the IKE_AUTH >>>>> success, we get cases where the Responder performs the action, while the >>>>> Initiator does not. In this case, the Responder transfers the child SAs >>>>> to the new IKE SA, and the Initiator doesn't. The subsequent DELETE for >>>>> the new IKE SA sent by the Initiator deletes all those Child SAs on the >>>>> Responder, while they remain alive and active on the Initiator. You could >>>>> use some heuristic, like if the DELETE comes within x seconds of the >>>>> IKE_AUTH, you transfer the child SAs back. But that is some weird code >>>>> that we should not require people to make. >>>>> >>>>> Making the transfer follow the IKE_AUTH makes it all cleaner. Whether >>>>> it's done with the old or new IKE SA depends on whether you are worried >>>>> about childless IKE SAs kidnapping the children of other IKE SAs (sorry, >>>>> couldn't resist). We are not likely to require sameness of IP address, >>>>> and I am worried about the reliability of code comparing to IKE SAs for >>>>> sameness of authenticated identity. All L2TP over IPsec clients tend to >>>>> have the same identity (with user authentication being done at the PPP >>>>> layer). Do we allow them to claim each other's child SAs? I think not, >>>>> and then if we take the "pull" approach - using the new IKE SA - we need >>>>> some PoP. With a "push" approach - using the old IKE SA - we don't. >>>>> >>>>>> Also note that the notification syntax is in conflict with both RFC 5996 >>>>>> and RFC 4306. RFC 5996 removes the option of Protocol ID=1, while RFC >>>>>> 4306 assumes that we are talking about the *current* IKE SA, and so >>>>>> mandates that the SPI field should be empty in this case. Practically >>>>>> speaking, we will have to fix 5996 before this can document move >>>>>> forward. Luckily we're doing just that with Tero's bis draft. >>>>> >>>>> Good timing! >>>>> >>>>> Yoav >>>>> >>>> >>>> Email secured by Check Point >>>> >>> >>> Email secured by Check Point >> > > Email secured by Check Point _______________________________________________ IPsec mailing list IPsec@ietf.org https://www.ietf.org/mailman/listinfo/ipsec