[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question on SA Bundle



At 10:36 PM +0300 4/14/03, Markku Savela wrote:
>Back to bundle issue, why I want "bundle" to be a rather loose concept:
>
>  - bundle is just a collection of SA's that are required
>
>You ignored my example from MIPv6. As I earlier presented

I ignored your example because there is a separate document from the 
MIPv6 WG that talks about how to support those requirements. I am 
working with the authors to try to understand what it requires and 
how it relates to 2401. I find it confusing enough to focus on that 
for now :-)


>
>1) MN is at home, talks to CN. CN could be web server or mailbox that
>    requires some IPSEC for access. We have policy
>
>    remote CN -> CN-SA()
>
>2) MN moves away from home. Suddenly MN needs IPSEC with HA agent
>
>    remote HA -> HA-SA()
>
>3) MN still wants to communicate with CN. MIPv6 calls for tunneling
>    the traffic via HA. From IPSEC viewpoint HA is like a SG, and the
>    whole internet is the protected network.
>
>    Now, the packets at MN need to look like
>
>    Outgoing:             Incoming:
>    ---------             ---------
>    IP: dst=HA            dst=COA
>        src=COA           src=HA
>        IPSEC with HA-SA  IPSEC with HA-SA
>    IP: dst=CN            dst=HOME
>        src=HOME          src=CN
>        IPSEC with CN-SA  IPSEC with CN-SA
>        Payload           Payload
>
>SOMEHOW, above MUST be achieved. Surely there are many ways. BUT, in
>MY IPSEC policy I could express the requirement and rule to achieve
>above as (roughly, not going here into detail of how I separate "at
>home" and "at away", trust me I can do it :-)

MUST is a very strong term :-) It may be very desirable, but whether 
it must be supported is yet to be decided. As we have discussed in 
our off-list message exchanges, your ideas about policy expression 
may go beyond 2401. As part of revising 2401 it is possible that the 
SPD policy expression may be expanded to accommodate more complex 
policies, BUT the WG will have to decide if the added complexity is 
something we want to impose on all IPsec implementations.  Also, you 
and I disagree over whether it is necessary for IPsec peers to notify 
one another of the policy that will be applied to packets as part of 
the IKE negotiation. I believe that, in general, IKE v2 has moved in 
the direction of providing this info, even more so than IKE v1. For 
example, in v2 the initiator sends SPD selector data showing the 
range of values associated with an SA that is being created, to 
enable the peer to know the range of traffic that can be carried on 
the SA. Your proposals seem to head in the other direction, i.e., not 
wanting peers to exchange this data in IKE.

>
>    remote CN -> CN-SA(), HA-SA(tunnel to HA)
>
>I don't want this solution to become "non-conformant". It works for
>me!

I don't understand the example well enough to comment, but I will say 
that just because someone has implemented some features does not mean 
that the features are conformant today.

>Now, this looks like a "bundle": a selector and two SA's, and this is
>how it's handled in IPSEC packet processing. Packets matching "remote
>CN" must have both CN-SA and HA-SA(tunnel) successfully applied for
>incoming and outgoing.
>
>However, as far as key management (IKEv1 or IKEv2) are concerned, this
>is really two different Phase1 associations, one negotiated between
>HOME and CN, and other negotiated between HOME and HA.

Again, we seem to have a mismatch between a desire to decouple SA 
parameters in each peer from what IKE negotiates. In general, I think 
the WG has adopted the position that this is not a good idea. Rather, 
it seems desirable to have each peer understand the other's view of 
the SA, to avoid confusion.

>------------
>
>Above is prime example why I don't like IKE (or any key management) to
>mess/check policy in phase2. Policy is just too complex for them to
>handle. I want to be able to work on policy definitions and
>echancements independently of key negotiation implementation.

If one looks at what IKE does (both v1 and v2) it is clear that most 
of the complexity resides in the SA management aspects of the task, 
not in the key management aspects. So, what I think you are saying is 
that you would like to have a protocol that focuses mostly on key 
management, and a separate protocol that addresses other aspects of 
SA management, including policy aspects. This sounds like what JFK 
was doing, but the WG elected to not pursue that path. I think in 
part this is because the WG realized that policy support is critical 
and if we don't deal with it now, we will have implementations that 
create SAs but fail because of a lack of a standard way to express 
policy over what traffic is supposed to flow over the SAs.

>Similar example can occur even without mobile IP, say
>
>       |
>    A -|--- SG ====== B
>
>where A has some highly classified data. You don't want to pass it
>clear, even within internal net. Thus any communication with A needs
>IPSEC. Now, if B wants to access A outside, it needs IPSEC with SG and
>A simultaneously!


I have trouble following your text, but this sounds like the nested 
SA example (case 4) that 2401 calls out. Unfortunately, we've not had 
a means to specify this in IKE v1, so it seems that it is hard to 
make work in practice. If the WG feels that we need this capability, 
we can retain it in 2401bis, but we need to be able to say how the 
nesting is specified, from a management perspective.

Steve