System and method for an adaptive TCP SYN cookie with time validation
First Claim
Patent Images
1. A system for TCP SYN cookie validation at a host server comprising:
- a session SYN packet receiver for receiving a session SYN packet;
a transition cookie generator operating to generate a transition cookie with the use of a transition cookie secret key, the transition cookie comprising a time value representing the actual time, wherein the transition cookie generator generates the transition cookie secret key based on data obtained from the received session SYN packet, the data obtained from the SYN packet including at least one of a source IP address of an IP header, a destination port, a source port, and a sequence number of a TCP header in the received session SYN packet, wherein the transition cookie generator concatenates the obtained data from the session SYN packet to generate a first data item of the generator and the transition cookie generator uses a first hash function to generate the transition cookie secret key from the first data item of the generator;
a session SYN/ACK packet sender for sending the transition cookie in response to the received session SYN packet;
a session ACK packet receiver for receiving a session ACK packet, the session ACK packet including a candidate transition cookie; and
a transition cookie validator, for determining whether the candidate transition cookie in the received session ACK packet comprises a time value representing a time within a predetermined time interval from the time the session ACK packet is received, wherein the transition cookie validator generates a candidate transition cookie secret key based on data obtained from the received session ACK packet, the data obtained from the ACK packet including at least one of a source IP address of the IP header, a destination port, and a source port, wherein the transition cookie validator concatenates the obtained data from the session ACK packet to generate a first data item of the validator and the transition cookie validator uses the first or another hash function to generate the candidate transition cookie secret key from the first data item of the validator,wherein at least one of;
the transition cookie generator uses a secret key offset to select one or more bits of data from the first data item of the generator in order to generate a second data item of the generator, andthe transition cookie validator uses a candidate secret key offset to select one or more bits of data from the first data item of the validator in order to generate a second data item of the validator.
3 Assignments
0 Petitions
Accused Products
Abstract
Provided is a method and system for TCP SYN cookie validation. The method includes receiving a session SYN packet by a TCP session setup module of a host server, generating a transition cookie including a time value representing the actual time, sending a session SYN/ACK packet, including the transition cookie, in response to the received session SYN packet, receiving a session ACK packet, and determining whether a candidate transition cookie in the received session ACK packet comprises a time value representing a time within a predetermined time interval from the time the session ACK packet is received.
41 Citations
31 Claims
-
1. A system for TCP SYN cookie validation at a host server comprising:
-
a session SYN packet receiver for receiving a session SYN packet; a transition cookie generator operating to generate a transition cookie with the use of a transition cookie secret key, the transition cookie comprising a time value representing the actual time, wherein the transition cookie generator generates the transition cookie secret key based on data obtained from the received session SYN packet, the data obtained from the SYN packet including at least one of a source IP address of an IP header, a destination port, a source port, and a sequence number of a TCP header in the received session SYN packet, wherein the transition cookie generator concatenates the obtained data from the session SYN packet to generate a first data item of the generator and the transition cookie generator uses a first hash function to generate the transition cookie secret key from the first data item of the generator; a session SYN/ACK packet sender for sending the transition cookie in response to the received session SYN packet; a session ACK packet receiver for receiving a session ACK packet, the session ACK packet including a candidate transition cookie; and a transition cookie validator, for determining whether the candidate transition cookie in the received session ACK packet comprises a time value representing a time within a predetermined time interval from the time the session ACK packet is received, wherein the transition cookie validator generates a candidate transition cookie secret key based on data obtained from the received session ACK packet, the data obtained from the ACK packet including at least one of a source IP address of the IP header, a destination port, and a source port, wherein the transition cookie validator concatenates the obtained data from the session ACK packet to generate a first data item of the validator and the transition cookie validator uses the first or another hash function to generate the candidate transition cookie secret key from the first data item of the validator, wherein at least one of; the transition cookie generator uses a secret key offset to select one or more bits of data from the first data item of the generator in order to generate a second data item of the generator, and the transition cookie validator uses a candidate secret key offset to select one or more bits of data from the first data item of the validator in order to generate a second data item of the validator. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for TCP SYN cookie validation at a host server comprising:
-
a session SYN packet receiver for receiving a session SYN packet; a transition cookie generator operating to generate a transition cookie with the use of a transition cookie secret key, the transition cookie comprising a time value representing the actual time, wherein the transition cookie generator generates the transition cookie by (i) generating an encrypted data element of the generator by applying a cryptographic method on the transition cookie secret key and a transition cookie data element, (ii) performing an unsigned binary addition on the encrypted data element of the generator and a sequence number of a TCP header in the received session SYN packet, and (iii) storing the result in the transition cookie; a session SYN/ACK packet sender for sending the transition cookie in response to the received session SYN packet; a session ACK packet receiver for receiving a session ACK packet, the session ACK packet including a candidate transition cookie; and a transition cookie validator, for determining whether the candidate transition cookie in the received session ACK packet comprises a time value representing a time within a predetermined time interval from the time the session ACK packet is received. - View Dependent Claims (8)
-
-
9. A system for TCP SYN cookie validation at a host server comprising:
-
a session SYN packet receiver for receiving a session SYN packet; a transition cookie generator operating to generate a transition cookie with the use of a transition cookie secret key, the transition cookie comprising a time value representing the actual time; a session SYN/ACK packet sender for sending the transition cookie in response to the received session SYN packet; a session ACK packet receiver for receiving a session ACK packet, the session ACK packet including a candidate transition cookie; and a transition cookie validator, for determining whether the candidate transition cookie in the received session ACK packet comprises a time value representing a time within a predetermined time interval from the time the session ACK packet is received, wherein the transition cookie validator generates; a candidate sequence number such that a sequence number of a TCP header in the received session ACK packet equals the sum of the candidate sequence number and a value of 1, a candidate encrypted data element such that the result of performing an unsigned binary addition of the candidate encrypted data element and a candidate sequence number equals the candidate transition cookie, and a candidate transition cookie data element by applying a cryptographic method on a candidate transition cookie secret key and the candidate encrypted data element. - View Dependent Claims (10)
-
-
11. A method for validating a TCP cookie at a host, the method comprising:
-
receiving a first session packet; acquiring a transition cookie secret key based on data obtained from the received first session packet; generating a transition cookie using the transition cookie secret key; sending a second session packet including the transition cookie; receiving a third session packet including a candidate transition cookie; acquiring a candidate transition cookie secret key based on data obtained from the received third session packet; and validating the candidate transition cookie using the candidate transition cookie secret key. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for validating a TCP cookie at a host, the method comprising:
-
receiving a first session packet; generating a transition cookie by applying a cryptographic method on a transition cookie secret key and a transition cookie data element; sending a second session packet including the transition cookie in response to the received first session packet; receiving a third session packet including a candidate transition cookie; and validating the candidate transition cookie by determining whether the candidate transition cookie comprises a time value representing a time within a predetermined time interval from a time that the third session packet is received. - View Dependent Claims (21, 22)
-
-
23. A method for validating a TCP cookie at a host, the method comprising:
-
receiving a first session packet; generating a transition cookie using a transition cookie secret key; sending a second session packet including the transition cookie in response to the received first session packet; receiving a third session packet including a candidate transition cookie; and validating the candidate transition cookie by applying a cryptographic method on a candidate transition cookie secret key. - View Dependent Claims (24, 25)
-
-
26. A host for validating a TCP cookie, comprising:
-
a memory device storing instructions; and a processor that, when executing the instructions, configures the host to; receive a first session packet; acquire a transition cookie secret key based on data obtained from the received first session packet; generate a transition cookie using the transition cookie secret key; send a second session packet including the transition cookie; receive a third session packet including a candidate transition cookie; acquire a candidate transition cookie secret key based on data obtained from the received third session packet; and validate the candidate transition cookie using the candidate transition cookie secret key.
-
-
27. A host for validating a TCP cookie, comprising:
a memory storing instructions; and a processor, that when executing the instructions, configures the host to; receive a first session packet; generate a transition cookie by applying a cryptographic method on a transition cookie secret key and a transition cookie data element; send a second session packet including the transition cookie; receive a third session packet including a candidate transition cookie; and validate the candidate transition cookie by determining whether the candidate transition cookie comprises a time value representing a time within a predetermined time interval from the time the third session packet is received.
-
28. A host for validating a TCP cookie, the host comprising:
-
a memory storing instructions; and a processor that, when executing the instructions, configures the host to; receive a first session packet; generate a transition cookie using a transition cookie secret key; send a second session packet including the transition cookie; receive a third session packet including a candidate transition cookie; and validate the candidate transition cookie by applying a cryptographic method on a candidate transition cookie secret key.
-
-
29. A non-transitory computer-readable medium storing instructions that, when executed, cause a computing device to perform a method for validating a TCP cookie, the method comprising:
-
receiving a first session packet; acquiring a transition cookie secret key based on data obtained from the received first session packet; generating a transition cookie using the transition cookie secret key; sending a second session packet including the transition cookie; receiving a third session packet including a candidate transition cookie; acquiring a candidate transition cookie secret key based on data obtained from the received third session packet; validating the candidate transition cookie using the candidate transition cookie secret key.
-
-
30. A non-transitory computer-readable medium storing instructions that, when executed, cause a computing device to perform a method for validating a TCP cookie, the method comprising:
-
receiving a first session packet; generating a transition cookie by applying a cryptographic method on a transition cookie secret key and a transition cookie data element; sending a second session packet including the transition cookie in response to the received first session packet; receiving a third session packet including a candidate transition cookie; and validating the candidate transition cookie by determining whether the candidate transition cookie comprises a time value representing a time within a predetermined time interval from the time the third session packet is received.
-
-
31. A non-transitory computer-readable medium storing instructions that, when executed, cause a computing device to perform a method for validating a TCP cookie, the method comprising:
-
receiving a first session packet; generating a transition cookie using a transition cookie secret key; sending a second session packet including the transition cookie in response to the received first session packet; receiving a third session packet including a candidate transition cookie; and validating the candidate transition cookie by applying a cryptographic method on a candidate transition cookie secret key.
-
Specification