I just went through this draft, and I think the problem (which is "why do we 
avoid rekeying after 2^32 packets if replay is not enabled") is actually 
simpler than what the authors expect.

Solution 1:

The note about ESN and antireplay is (section 3.3.3)

   If a receiver chooses to not enable anti-replay for an SA, then
   the receiver SHOULD NOT negotiate ESN in an SA management protocol.

Note that this states "SHOULD NOT", not "MUST NOT".  We have the option of 
ignoring the SHOULD NOT, and if we do, there's no issue (and no protocol 
changes are needed in this case).  Of course, this works only if both sides use 
this convention.


Solution 2:

The actual requirements about rekeying from RFC 4303 is (section 2.2, the 
non-ESN section)

   If anti-replay is enabled
   (the default), the transmitted sequence number must never be allowed
   to cycle.  Thus, the sender's counter and the receiver's counter MUST
   be reset (by establishing a new SA and thus a new key) prior to the
   transmission of the 2^32nd packet on an SA.

(Emphesis added).

Not that, if anti-replay is not enabled, there is no such requirement (nor is 
there any security issue; wrapping around could mean that the attacker could 
reissue a previous packet with the same counter, however this is a replay, 
which we are explicitly allowing).

Hence, I believe that this draft can be simplified to a notification that "I'm 
not doing replay checking, you don't need to rekey on a wrap" (which means you 
don't need ESN in the first place).

_______________________________________________
IPsec mailing list -- ipsec@ietf.org
To unsubscribe send an email to ipsec-le...@ietf.org

Reply via email to