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

RE: ipsec error protocol



Title: RE: ipsec error protocol
>RE: ipsec error protocolFrom: Stephen Kent [kent@bbn.com]
>Sent: Wednesday, January 31, 2001 1:01 PM
>To: sankar ramamoorthi
>Cc: ipsec@lists.tislabs.com
>Subject: RE: ipsec error protocol
>
>  Some questions on this topic.
>
>  As per RFC 2401, if an ipsec implementation gets a  packet with
>  valid authentication and whose sequence number is larger than the
>  current replay window, the implementation should accept the packet
>  and set its sequnce window to the larger size.
>
>  At 10 million packets/sec(10^7) it takes approximately 400 seconds for
>  a 32 bit sequence to overflow.
>
>  That means if someone were to replay a valid authenticated packet every
>  400 seconds it is likely to accepted as a valid packet.
>
>  How will changing the sequence number space to a bigger value
>  by just negotiation alone help the above problem? Does'nt on the wire
>  sequence number size also has to change?
>
>  What am I missing?
>
>
>You are missing a couple of points that have been mentioned in previous messages to the list:
>
>
>        - yes, I have proposed an extension of the sequence number space to allow for much larger sequence numbers, e.g., 64 bit sequence numbers, but with transmission of only the low order 32 bits in the AH or ESP header.
>
>
>        - the proposal includes the extended sequence number in the integrity calculation, so a replayed packet will not be accepted by ESP (or AH) even though it carries only a 32-bit sequence number in the header, i.e., if a packet arrives with a sequence number that looks like a rollover of the 32-bit sequence number, it will be treated as having a 64-bit number with the low order bit of the high order 32 bits incremented by 1. A replay, when viewed in this fashion, will fail the integrity check, which means the receive sequence number window will not be changed.
>
 
If I understand correctly what you are saying
 
on-the-wire 32 bit sequence is first treated as the lower order 32
bits of a 64 bit sequence window. Once it overflows, it is treated as
higher order 32 bits of the sequence window with the lower order
32 bits pegged at 64k-1(I presume).
 
If that is the case we are  using the 64bit window as two independent 32 bit
windows. Does'nt it limit the amount of available window space and forces
the rekeying to occur every (400*2) or (400*3) secs? 
 
Thanks,
 
-- sankar --
 
>
>Steve

Follow-Ups: References: