Frank Bailey writes:
> In section 2.8 it talks about when rekeying a Child SA or an IKE SA, that
> the peers should establish an 'equivalent' SA. The question I have,
> is what is meant by equivalent?  

It means mostly same... I.e. protecting same traffic and using same
parameters, ciphers etc.

> Does that mean there can only be one proposal in the SA when
> rekeying?

As the RFC5996 says that traffic selectors and algorithms SHOULD NOT
be different, there is no point of including more than one proposal.
The best is just to propose exactly same algorithms, and traffic
selectors which are used by the Child SA you are rekeying.

> And, does that proposal have to match the currently used algorithms
> for that SA (i.e. the new SA, must match the SA (as far as
> transforms) to be rekeyed)?

The RFC5996 has "SHOULD" for that, so unless you have good reasons
(which you can explain) why you are not following that SHOULD then
that is the way to go.

> In section 2.18, 4th paragraph, it mentions that the 'old and new IKE SA
> may have selected a different PRF. ...'    Which leads me to think that
> we can re-negotiate the transforms during a rekey.

This is for IKE SA rekey. The crypt algorithms and traffic selectors
"SHOULD" in the RFC5996 only applies to the Child SAs. For the IKE SA
there is no suggestion that you need to keep ciphers same.

The reason for why the algorithms SHOULD NOT change during the Child
SA rekey is that on some implementation or on some hardware the rekey
is optimized so that the newly created Child SA does not really
allocate new full SA, but instead the newly rekeyed SA is added to the
existing SA with some new parameters (i.e SPI and keying material).
Then when the old SA is deleted the rekeyed SA is moved to be the
primary SA of this kind of bundle. This is done so that the statistics
and so on can be kept over the SA rekeys etc. This is purely local
implementation issue and this kind of optimization quite often share
lots of data with the previous SA, and those shared data can and often
will include algoritms and the traffic selectors.

So following that SHOULD NOT allows more efficient use of resources on
some implementations. Of course most likely those implementation will
enforce this by always picking the same set of algorithms the are
already using on the old SA if they have been proposed multiple
algorithms.

On the other hand if the proposed set does not include currently used
crypto algorithms, those implementations might return error like
NO_PROPOSAL_CHOSEN for the rekey attempts, even when similar alrogithm
set could be used to create SA from the scratch. This might cause the
situation where the host A tries to rekey and host B always says
NO_PROPOSAL_CHOSEN and finally the Child SA expires, and then it is
created again from the beginning (i.e. no rekey) and then it succeeds,
meaning that this setup still works, but is not as optimized as it
could be and it might cause few packets to be lost during the
operation. 
-- 
kivi...@iki.fi
_______________________________________________
IPsec mailing list
IPsec@ietf.org
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to