Patent ID: 8327030

Claim:
A method of detecting crisscrossed messages, the method comprising: transitioning a state machine to a normal state, wherein the state machine includes a plurality of state variables that includes a nonce state variable that is configured to indicate a current session of a device, and that includes a counter state variable that is configured to indicate a last message sent by the device to a remote device, and that includes a remote nonce state variable that is configured to indicate a current session of the remote device as known by the device, and that includes a remote counter state variable that is configured to indicate a last valid message received by the device from the remote device; detecting a combination of: a first message sent by the device to the remote device, and a second message sent by the remote device to the device after the first message is sent but before the first message is received by the remote device, wherein the second message includes a header that includes a nonce value and a counter value and a remote nonce value and a remote counter value; receiving, by the device, the second message; wherein the detecting comprises determining that: the counter state variable indicates that the remote counter value is incorrect, or that the nonce state variable indicates that the remote nonce value is incorrect; and transitioning, based on the determining, the state machine to a race fix state.