Rekey Traffic Overlap
Overview
An SA may be created with a finite lifetime, in terms of time or traffic volume. To assure interrupt-free traffic IKE SA and IPSec SAs have to be "rekeyed". By definition, rekeying is the creation of new SA to take the place of expiring SA well before the SA expires. RFC 5996 describes the procedure for IKEv2 rekeying with minimal traffic loss.
During the rekeying, both initiator and responder maintain both SAs for some duration during which they can receive (inbound) on both SAs. The inbound traffic on the old SA stops only after each node unambiguously knows that the peer is ready to start sending on the new SA (switch outbound to new SA). Switching the outbound traffic to new SA happens at the initiator and responder as depicted in following diagram.
-
Initiator is the first to switch outbound traffic to the new SA
-
Switching outbound traffic on the responder is consequential
-
Each node is ready to receive on both SAs for some duration.
-
To rekey a child SA (IPSec SA): -
The node receives an explicit delete for the old child SA on IKE.
-
A predefined time elapses (neither of the above two events happen).
-
Deployment Scenarios
Network operators prefer using s finite-lifetime SA to minimize the risk of compromising the key when used indefinitely. Rekeying instead of deleting-creating an SA avoids breaks in traffic.
Initiator and Responder Rekeying Behavior
During rekeying, the old SA must not be deleted when the new SA is created. Traffic transmission on the new SA and deletion of the old child SA occurs as depicted in the following diagram.
-
If Node-A does not send DELETE at [C], guard timer expiry in Node-B replaces event [D]; guard timer expiry in Node-A replaces event [E}.
-
If Node-B does not send DELETE at [D], guard timer expiry in Node-A replaces event [E].
-
Guard timer expiry is fixed at 120 seconds.