IP Library Granted Patent US 9,838,425
Granted Patent B2
US 9,838,425 · App. 14/261,322 · Granted Dec 5, 2017

Systems and methods for network access control

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,838,425
App. No.
14/261,322
Granted
Dec 5, 2017
Kind
B2
Abstract

Network access control systems and methods are provided herein. A method includes receiving at a network device a SYN packet from a client device over a network, determining if the client device is a trusted source for the network using the SYN packet, if the client device is a trusted resource, receiving an acknowledgement (ACK) packet from the client device that includes identifying information for the client device plus an additional value, and identifying information for the network device, and establishing a connection with the network for the client device.

Claims (77)

1. A method for network access control, comprising:

receiving at a network device a SYN packet from a client device over a network, the SYN packet comprising identifying information for the client device;

determining whether the client device is a trusted source, an untrusted source, or neither the trusted source nor the untrusted source for the network using the SYN packet;

when the client device is not the trusted source for the network, dropping the SYN packet to deny network access to the client device;

when the client device is neither the trusted source nor the untrusted source for the network:

transmitting to the client device a SYN/ACK packet, the SYN/ACK packet comprising a SYN cookie, the SYN cookie comprising one or more of: a maximum segment size value and a cryptographic hash function computed using at least one of the network device's IP address, the network device's port number, the client device's IP address, and the client device's port number; and

receiving an acknowledgement (ACK) packet from the client device that includes identifying information for the client device, identifying information for the network device, and the SYN cookie;

querying an allowable rate limit policy to determine whether a number of times the client device provided an incorrect SYN cookie in one or more ACK packets when attempted to connect to the network device exceeds a predetermined threshold;

when the number of times the client device provided the incorrect SYN cookie is below the predetermined threshold, establishing the connection with the network for the client device;

and when the client device is the trusted source for the network:

receiving an ACK packet from the client device that includes identifying information for the client device and identifying information for the network device; and

establishing a connection with the network for the client device, based on the received ACK packet at the network device, wherein the establishing comprises connecting the client device to a host server such that network traffic flows directly from the host server to the client device.

2. The method according to claim 1 , wherein determining if the client device is the trusted source, the untrusted source, or neither the trusted source nor the untrusted source for the network using the SYN packet comprises determining if the client device is on a white list of client devices and determining if the client device is on a black list of client devices.

3. The method according to claim 1 , wherein the identifying information for the client device comprises any of a sequence number, an IP address, a media access control (MAC) address, an international mobile station equipment identity (IMEI) number, a service set identifier (SSID), or a source port.

4. The method according to claim 1 , wherein the identifying information for the network device comprises any of a sequence number, an IP address, a media access control (MAC) address, an international mobile station equipment identity (IMEI) number, a service set identifier (SSID), or a source port.

5. The method according to claim 1 , wherein determining if the client device is neither the trusted source nor the untrusted source for the network using the SYN packet comprises:

determining that the client device is neither on a white list nor a black list of client devices.

6. The method according to claim 5 , further comprising:

receiving a number of ACK packets from the client device that include the incorrect SYN cookie, wherein the incorrect SYN cookie comprises identifying information for the client device or the network device that is incorrect;

applying a SYN cookie tolerance level, wherein the SYN cookie tolerance level specifies the number of times the client device can supply the incorrect SYN cookie;

adding the identifying information for the client device to a black list if the client device exceeds the SYN cookie tolerance level; and

dropping subsequent SYN or ACK packets received from the client device.

7. The method according to claim 1 , further comprising:

setting an allowable connection rate policy for the client device, wherein the allowable connection rate policy specifies a number of times the client device may attempt to connect to the network in a given time period;

adding the identifying information for the client device to a black list if the client device violates the allowable connection rate policy; and

dropping subsequent SYN or ACK packets received from the client device.

8. The method according to claim 7 , wherein a client device is added to a black list even if the client device is currently included in a white list, based upon the client device violating the allowable connection rate policy.

9. The method according to claim 1 , further comprising:

setting an allowable rate limit of SYN cookies, wherein the allowable rate limit of SYN cookies specifies a number of times the client device may provide their SYN cookie to the network device;

adding the identifying information for the client device to a black list if the client device exceeds the allowable rate limit of SYN cookies; and

dropping subsequent SYN or ACK packets received from the client device.

10. The method according to claim 1 , further comprising:

determining if a network packet flow for the client device has been previously observed;

if the network packet flow has been previously observed, establishing the connection with the network; and

if the network packet flow has not been previously observed, performing a SYN cookie check and establishing the network connection if the client device passes the SYN cookie check.

11. The method according to claim 10 , wherein the SYN cookie check comprises comparing SYN cookie information received in the ACK packet with SYN cookie information provided by the network device in the SYN/ACK packet.

12. The method according to claim 10 , further comprising:

setting a SYN cookie threshold, wherein the SYN cookie threshold identifies a total number of times the client device may provide a SYN cookie to the network device;

for each time the client device provides a SYN cookie to the network device, reducing the SYN cookie threshold by one until the SYN cookie threshold is zero;

when the SYN cookie threshold is zero, adding the identifying information for the client device to a black list; and

dropping subsequent SYN or ACK packets received from the client device.

13. A network arrangement, comprising:

a network service; and

a network device that is configured to:

receive a SYN packet from a client device over a network, the SYN packet comprising identifying information for the client device;

determine whether the client device is a trusted source, an untrusted source, or neither the trusted source nor the untrusted source for the network using the SYN packet;

when the client device is the trusted source:

receive an acknowledgement (ACK) packet from the client device that includes identifying information for the client device plus an additional value, and identifying information for the network device; and

establish a connection with the network for the client device in such a way that the client device can use the network service; and

when the client device is not the trusted source, drop the SYN packet to deny network access to the client device; and

when the client device is neither the trusted source nor the untrusted source for the network:

transmit to the client device a SYN/ACK packet, the SYN/ACK packet comprising a SYN cookie, the SYN cookie comprising one or more of: a maximum segment size value and a cryptographic hash function computed using at least one of the network device's IP address, the network device's port number, the client device's IP address, and the client device's port number;

receive an acknowledgement (ACK) packet from the client device that includes identifying information for the client device, identifying information for the network device, and the SYN cookie;

query an allowable rate limit policy to determine whether a number of times the client device provided an incorrect SYN cookie in one or more ACK packets when attempted to connect to the network device exceeds a predetermined threshold; and

when the number of times the client device provided the incorrect SYN cookie is below the predetermined threshold, establish the connection with the network for the client device.

14. The network arrangement according to claim 13 , wherein the network device determines if the client device is the trusted source for the network using the SYN packet by determining if the client device is on a white list or a black list of client devices.

15. The network arrangement according to claim 14 , wherein the identifying information for the client device comprises any of a sequence number, an IP address, a media access control (MAC) address, an international mobile station equipment identity (IMEI) number, a service set identifier (SSID), or a source port.

16. The network arrangement according to claim 13 , wherein the identifying information for the network device comprises any of a sequence number, an IP address, a media access control (MAC) address, an international mobile station equipment identity (IMEI) number, a service set identifier (SSID), or a source port.

17. The network arrangement according to claim 13 , wherein the network device determines if the client device is neither the trusted source nor the untrusted source for the network using the SYN packet by:

determining that the client device is neither on a white list or a black list of client devices.

18. The network arrangement according to claim 17 , wherein the network device is configured to:

receive a number of ACK packets from the client device that include the incorrect SYN cookie, wherein the incorrect SYN cookie comprises identifying information for the client device or the network device that is incorrect;

apply a SYN cookie tolerance level, wherein the SYN cookie tolerance level specifies the number of times the client device can supply the incorrect SYN cookie;

set an allowable connection rate policy for the client device, wherein the allowable connection rate policy specifies a number of times the client device may attempt to connect to the network in a given time period; and

add the identifying information for the client device to a black list if the client device exceeds the SYN cookie tolerance level or if the client device violates the allowable connection rate policy.

19. The network arrangement according to claim 18 , wherein the network device is configured to add the client device to a black list even if the client device is currently included in a white list, based upon the client device violating the allowable connection rate policy or exceeding the SYN cookie tolerance level.

20. The network arrangement according to claim 19 , wherein the network device is configured to:

determine if a network packet flow for the client device has been previously observed;

establish a connection with the network if the network packet flow has been previously observed; and

if the network packet flow has not been previously observed, perform a SYN cookie check and establish the network connection if the client device passes the SYN cookie check.

21. A method for network access control, comprising:

determining if a client device is a trusted source for a network using a SYN packet, the SYN packet comprising identifying information for the client device;

transmitting a SYN/ACK packet to the client device, the SYN/ACK packet comprising identifying information for the client device plus an additional value, a SYN cookie, and identifying information for the network device, the SYN cookie comprising one or more of: a maximum segment size value and a cryptographic hash function computed using at least one of the network device's IP address, the network device's port number, the client device's IP address, and the client device's port number;

receiving an ACK packet from the client device to confirm the establishment of a network connection between a network device and the client device, the ACK packet including the identifying information for the client device, the identifying information for the network device, and the SYN cookie;

querying an allowable rate limit policy to determine whether a number of times the client device provided an incorrect SYN cookie in one or more ACK packets when attempted to connect to the network device exceeds a predetermined threshold;

when the number of times the client device provided the incorrect SYN cookie is below the predetermined threshold, establishing a connection with the network for the client device; and

placing the client device on a black list if the client device is subsequently determined to be an untrusted source.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2014
From: JALAN, RAJKUMAR; SZETO, RONALD WAI LUN; WU, STEVEN
To: A10 NETWORKS, INC.
Reel/Frame 032902/0493 →