Keith Welter <welt...@us.ibm.com> wrote on 10/07/2010 10:26:56 AM:
[...]
> Yoav Nir <y...@checkpoint.com> wrote on 10/07/2010 12:48:17 AM:
> [...] 
> > Hi Keith.
> > 
> > My responses are below, but first I would like to know if you have 
> > considered a different solution - having an IKE_AUTH exchange in the
> > middle of the IKE SA lifetime. Suppose the IKE SA has been around 
> > for a couple of hours, and has been used for creating some child 
> > SAs, why not keep it and just pass one or more IKE_AUTH exchanges? 
> Interesting.  If support for the new reauth protocol is signaled in 
> the original IKE_AUTH exchange then I think you could do a modified 
> IKE_AUTH exchange in the old IKE SA to accomplish reauthentication. 
> That would eliminate moving the children and having to prove that 
> the reauth initiator is the same entity as he was before.  It also 
> would reduce the variety of collision cases substantially.  That 
> sounds very attractive.  Offhand, I can't think of any reason not to do 
it. 
Actually, one down-side does come to mind.  RFC5996-style reauthentication 
and the kind described in my draft both allow the IKE SA attributes such 
as the encryption algorithm to be changed by virtue of the new IKE_SA_INIT 
exchange.  That capability would be lost with IKE_AUTH on the old IKE SA. 
I wouldn't want to take that capability away.  To affect an IKE SA policy 
change you'd have to deactivate/reactivate. 

> 
> > 
> > I had considered this when making 4478, and the only thing that 
> > "blocked" me was that I couldn't figure out what to sign in the AUTH
> > payloads. In regular IKE, they sign the IKE_SA_INIT messages, and I 
> > didn't like the idea of storing those for the lifetime of the IKE 
> > SA. Perhaps we could store the contents of the previous AUTH payload
> > (or a hash thereof) and sign that. 
> Choosing suitable material to sign for a modified IKE_AUTH is not 
> really my strong point.  Scott Moonen and Dave Wierbowski are 
> colleagues of mine and I suspect they would have good input here. 
> I'll ask them. 
Scott responded and said, "I can't think of a problem with Yoav's idea of 
signing the previous Auth payload."

> 
> > 
> > On Oct 6, 2010, at 11:17 PM, Keith Welter wrote:
> > 
> > > 
> > > Yoav Nir <y...@checkpoint.com> wrote on 10/05/2010 07:33:33 AM:
> > > 
> > > > Hi Keith.
> > > > 
> > > > After reading your draft, I wish I had done this in RFC 4478. 
> > > That's encouraging.  Thanks. 
> > > 
> > > > Still, I have some comments.
> > > > 
> > > > What are the considerations for the responder accepting a re-
> > authentication?
> > > > 
> > > > Suppose we have an active IKE SA between Alice and Bob.  Now Bob 
> > > > gets a new IKE_SA_INIT request with an N(REAUTH_SA) and the IKE 
SPIs
> > > > for the old IKE SA. When should Bob accept?  When should Bob 
> > > > decline? What if later (in the IKE_AUTH exchange) the 
authenticated 
> > > > identity turns out to be Mallory? 
> > > Interesting question.  Would you say that the same problem exists 
> > for re-authentication as defined in RFC 5996?
> > 
> > In RFC 5996, the new IKE SA does not inherit the old child SAs. New 
> > child SAs will be created according to the policy relevant to Mallory.
> > 
> > >  It seems to me that in general there is nothing but local policy 
> > to stop a different IKE peer from establishing a child SA with the 
> > same traffic selectors as an existing child SA.  So I wonder what 
> > makes that different from moving an existing child SA to a new IKE 
> > SA with a different peer.  Can you describe a problem that would 
> > occur with moving a child SA that would not occur with RFC 5996-
> > style reauthentication? 
> > 
> > The problem is having a child SA that belongs to Mallory, that is 
> > not allowed by policy (for Mallory).  Another problem is one user 
> > getting another user's IP address, because the servers behind the 
> > gateway often rely on IP address for continuation of a session. One 
> > way is that when inheriting the child SAs, the IKE implementation 
> > goes over them, and only transfers those that agree with policy. 
> > That might work for inter-domain, but with remote access, there's 
> > usually no pre-defined policy as to what selectors are allowed forthe 
user. 
> > 
> > As Tero pointed out, re-authenticating implies also inheriting the 
> > assigned IP address, so I really think you need to set rules (or at 
> > least guidance) about the relationship between the old and new 
> > authenticated identity (is "Alice" with a password the same as the 
> > user who presents a certificate with "CN=Alice,OU=Users"?  What 
> > about same DN but a different certificate?)
> > 
> > > 
> > > > 
> > > > The way the draft is now, anyone can probe for the existence of 
IKE 
> > > > SPIs by sending IKE_SA_INIT requests with arbitrary IKE SPIs in 
the 
> > > > REAUTH_SA notification. This is not a particularly useful attack, 
> > > > but no need to expose ourselves to it. I think it would be better 
to
> > > > move the notifications to the IKE_AUTH exchange. 
> > > Good point about the potential for SPI probing. 
> > > 
> > > My first version (unpublished) of the draft actually had the 
> > REAUTH_SA notification in the IKE_AUTH exchange.  There were three 
> > advantages I saw for including the REAUTH_SA notification in the 
> > IKE_SA_INIT exchange instead.  The main advantage was that I could 
> > use the presence of the REAUTH_SA notification in the IKE_SA_INIT 
> > request to signal usage of the IKE_AUTH exchange described in the 
> > draft that adds no additional children.  Even though the child SA 
> > piggy-backed on the IKE_AUTH exchange doesn't cost any additional 
> > round-trips it does cost additional CPU that is unnecessary.  And, 
> > to be tidy, one would also need to delete the old child SA that was 
> > re-negotiated before moving all the remaining children to the new 
> > IKE SA.  So, eliminating the piggy-backed child SA this way seemed 
> > like a very attractive enhancement. 
> > 
> > The childless notification can be used for signaling, and I agree 
> > with Yaron, that support for REAUTH_SA can be signaled in the 
> > original IKE_AUTH.
> > 
> > > 
> > > The second advantage I saw to including the notification in the 
> > IKE_SA_INIT exchange was that it eliminated an obscure collision 
> > case.  The collision case was awkward to describe but I still have 
> > the text for it.  To be clear, this was written for the version in 
> > which the IKE_AUTH exchange carried the REAUTH_SA notification: 
> > >    If a peer receives a request to reauthenticate an IKE SA for 
which it 
> > >    has not yet sent a request to reauthenticate, but has sent the 
> > >    IKE_SA_INIT request with intent to reauthenticate, it SHOULD 
reply as 
> > >    usual but SHOULD NOT include the REAUTH_SA notification in the 
> > >    IKE_AUTH request that it will send and SHOULD close the new IKE 
SA it 
> > >    creates after it receives the IKE_AUTH response. 
> > 
> > I think you can require never to send a REAUTH_SA if you have 
> > already received one from the peer. If that means leaving a half-
> > open SA, so be it. RFC 5996 already requires implementations to 
> > handle these cases, and you can reduce them with guidance for 
> > original initiators to re-authenticate earlier than original 
responders.
> > 
> > This leaves just the case of both sides having performed the 
> > IKE_SA_INIT, and sending the IKE_AUTH request before either receives
> > the other IKE_AUTH request. This can be handled by having the one 
> > with lower Initiator SPI win, while the other exchange gets some 
> > error message (no proposal chosen?  or a new one?)
> > 
> > > 
> > > That text hints at the third and final reason.  With the REAUTH_SA
> > notification in the IKE_AUTH exchange, one doesn't know that a new 
> > IKE SA is reauthenticating an old IKE SA until the IKE_AUTH exchange
> > begins.  Alternatively, with the REAUTH_SA in the IKE_SA_INIT 
> > exchange, one knows immediately, from the very first IKE message, 
> > whether or not a given IKE SA is intended to reauthenticate another 
> > IKE SA or not.  Whether or not removing this ambiguity is really an 
> > advantage or a disadvantage is debatable I suppose. 
> > 
> > OK. I'll debate for the other side. There's no reason to expose to 
> > eavesdroppers that we're doing a re-authentication. IKE_AUTH is 
> > encrypted, while IKE_SA_INIT is not. 
> > 
> > > 
> > > I'm not sure those three reasons outweigh your SPI probing 
> > concern.  I'm assuming there is not already a way to probe for SPIs 
> > without the REAUTH_SA (I did a quick review of RFC 5996 from that 
> > angle and couldn't see another way to accomplish such a probe).  If 
> > I could still omit the piggy-backed child SA from the IKE_AUTH 
> > exchange for a reauthentication I would be happy to move the 
> > notification back to the IKE_AUTH exchange where I originally had it. 
> > > 
> > > > Once there, the intuitive logic would be:
> > > >  - If the peer authenticates as other than Alice, deny REAUTH 
(fail 
> > > > the exchange?)
> > > >  - If authentication fails, ignore it. The old IKE SA remains 
alive.
> > > >  - If the peer authenticates as Alice, allow the reauth. 
> > > > 
> > > > This leads me to another issue. If the peer authenticates as 
Alice, 
> > > > we can treat it as an "Alice". Is it OK for "an Alice" to inherit 
> > > > the child SAs of any other "Alice"?  Ideally, there is only one 
> > > > "Alice" and if the peer authenticates as "Alice" it may inherit 
any 
> > > > child SAs belonging to any IKE SA belonging to "Alice", but I 
think 
> > > > it would be better to somehow tie the old SA to the new SA with 
non-
> > > > public information. Perhaps something derived from the SKEYSEED 
> > > > along with SK_d and the rest.
> > > I'll defer to Yaron's response here though I'd still like to 
> > understand if this issue is really isolated to the proposed movement
> > of child SAs for reauthentication as I asked above. 
> > 
> > If I connect to work from both computer and my phone, should the 
> > phone be able to "steal" the computer's SAs? If IKE is ever 
> > integrated with NEA work, it might imply moving SAs that were 
> > created with one posture to a host with another posture. Without 
> > NEA, it's not so much a security issue, as it is a networking issue.
> > 
> > > 
> > > > 
> > > > One final issue. The IKE_AUTH exchange in your draft does not 
> > > > include what's needed for creating new Child SAs. This is not 
> > > > allowed by RFC 5996. There is, however, a soon-to-be-published RFC 

> > > > for this (draft-nir-ipsecme-childless) 
> > > I was aware of this draft.  Assuming we conclude that it would be 
> > best to move the REAUTH_SA notification to the IKE_AUTH exchange 
> > then I would want to refer to that document and specify that it's 
> > mechanisms be used to avoid creating an additional child SA when 
> > reauthenticating an IKE SA.  However, I'm not clear why the approach
> > described in the current version of my draft is a not an acceptable 
> > way to specify a childless IKE_AUTH exchange. 
> > > 
> > > > 
> > > > Yoav
> > > > 
> > > > On Sep 28, 2010, at 10:03 PM, Keith Welter wrote:
> > > > 
> > > > > 
> > > > > A new version of I-D, draft-welter-ipsecme-ikev2-reauth-00.txt 
has
> > > > been successfully submitted by Keith Welter and posted to the 
> > IETF repository.
> > > > > 
> > > > > Filename:                  draft-welter-ipsecme-ikev2-reauth
> > > > > Revision:                  00
> > > > > Title:                                   Reauthentication 
> > > > Extension for IKEv2
> > > > > Creation_date:                  2010-09-28
> > > > > WG ID:                                   Independent Submission
> > > > > Number_of_pages: 10
> > > > > 
> > > > > Abstract:
> > > > > This document extends the Internet Key Exchange (IKEv2) Protocol
> > > > > document [IKEv2].  IKEv2 reauthentication does not scale well 
when an
> > > > > IKE SA has multiple Child SAs because each Child SA of the IKE 
SA to
> > > > > be reauthenticated must be renegotiated.  In addition,
> > > > > reauthentication is susceptible to the same kinds of exchange
> > > > > collisions as those that may occur during rekeying.  This 
document
> > > > > describes a mechanism to detect reauthentication and avoid
> > > > > renegotiating the Child SAs.  In addition, this document 
describes
> > > > > proper handling of exchange collisions that may occur during
> > > > > reauthentication.
> > > > >  
> > > > > 
> > > > > 
> > > > > The IETF Secretariat.
> > > > > 
> > > > > 
> > > > > 
> > > > > <ATT00001..txt>
> > > > 
> > > 
> > > 
> > > Scanned by Check Point Total Security Gateway. 
> > > 
> > _______________________________________________
> IPsec mailing list
> IPsec@ietf.org
> https://www.ietf.org/mailman/listinfo/ipsec
_______________________________________________
IPsec mailing list
IPsec@ietf.org
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to