IP Library Granted Patent US 10,469,262
Granted Patent B1
US 10,469,262 · App. 15/266,980 · Granted Nov 5, 2019

Methods and systems for network security using a cryptographic firewall

Inventors: Ted Schroeder (Saratoga, CA); Gabor Lengyel (Half Moon Bay, CA)
Assignee: Verizon Patent ad Licensing Inc.
H04L9/3228H04L9/0643H04L9/0863H04L9/3239H04L9/3242H04L63/0428H04L63/166
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 10,469,262
App. No.
15/266,980
Granted
Nov 5, 2019
Kind
B1
Abstract

A method is performed at a security device. The method includes establishing a network connection with a client system. After establishing the network connection, the security device receives a first packet from the client system. The first packet includes an identifier, a first counter value, and a first one-time password hash generated by the client system. Based on the identifier received, the security device retrieves from a trusted data store the seed and a second counter value. If the first counter value is larger than the second counter value, the security device generates a second one-time password hash based on the identifier, the first counter value, and the seed. In accordance with a determination that the first and second one-time password hashes match, the security device grants, to the client system, access to one or more network resources protected by the security device via the network connection.

Claims (60)

1. A method for accessing network resources protected by a security device, comprising:

at a security device having one or more processors and memory storing one or more programs for execution by the one or more processors:

establishing a network connection with a client system;

after establishing the network connection, receiving from the client system a first packet, the first packet including:

an identifier,

a first counter value, wherein the first counter value is one of a plurality of incremental counts generated by a system counter, and

a first one-time password hash generated by the client system based on the identifier, the first counter value, and a seed;

based on the identifier received from the client system, retrieving from a trusted data store the seed and a second counter value,

wherein the identifier and the seed are provided to the client system by the trusted data store based on authenticating the client system;

based on the first counter value being larger than the second counter value:

generating a second one-time password hash based on the identifier, the first counter value, and the seed;

determining whether the first one-time password hash and the second one-time password hash match; and

in accordance with a determination that the first one-time password hash and the second one-time password hash match, granting, to the client system, access to one or more network resources protected by the security device via the network connection.

2. The method of claim 1 , wherein the identifier and the seed are provided to the client system by the trusted data store based on a request for an identifier and seed pair, and prior to the security device establishing the network connection with the client system.

3. The method of claim 1 , wherein the network connection is a TCP connection.

4. The method of claim 1 , wherein the trusted data store includes the system counter, and wherein the system counter monotonically increases for each request received from the client system.

5. The method of claim 1 , wherein the system counter is updated in accordance with a determination that the first one-time password hash and the second one-time password hash match.

6. The method of claim 1 , further comprising terminating the network connection with the client system, based on the first counter value being less than or equal to the second counter value.

7. The method of claim 1 , further comprising terminating the network connection with the client system in accordance with a determination that the first one-time password hash and the second one-time password hash do not match.

8. The method of claim 7 , wherein terminating the network connection with the client system comprises sending a reset packet to the client system.

9. The method of claim 7 , wherein terminating the network connection with the client system comprises foregoing acknowledgment of packets received from the client system.

10. The method of claim 7 , wherein terminating the network connection with the client system further comprises clearing table entries associated with a connection request.

11. The method of claim 1 , wherein receiving the first packet comprises receiving the first packet embedded in a body of an HTTP POST.

12. The method of claim 1 , wherein receiving the first packet comprises receiving the first packet embedded within an HTTP GET URL.

13. The method of claim 1 , wherein receiving the first packet comprises receiving the first packet in a TLS Client Hello message, wherein the first packet is placed within a random field of the TLS Client Hello message.

14. The method of claim 1 , wherein establishing the network connection with the client system comprises:

prior to receiving the first packet from the client system:

receiving a SYN packet from the client system;

based on receiving the SYN packet, sending a SYN-ACK packet to the client system; and

after sending the SYN-ACK packet, receiving, from the client system, an ACK packet, thereby establishing the network connection and permitting receipt of the first packet from the client system.

15. A security device, comprising:

one or more processors; and

memory storing one or more programs for execution by the one or more processors, the one or more programs including instructions for:

establishing a network connection with a client system;

after establishing the network connection, receiving from the client system a first packet, the first packet including:

an identifier,

a first counter value, wherein the first counter value is one of a plurality of incremental counts generated by a system counter, and

a first one-time password hash generated by the client system based on the identifier, the first counter value, and a seed;

based on the identifier received from the client system, retrieving from a trusted data store the seed and a second counter value,

wherein the identifier and the seed are provided to the client system by the trusted data store based on authenticating the client system;

based on the first counter value being larger than the second counter value:

generating a second one-time password hash based on the identifier, the first counter value, and the seed;

determining whether the first one-time password hash and the second one-time password hash match; and

in accordance with a determination that the first one-time password hash and the second one-time password hash match, granting, to the client system, access to one or more network resources protected by the security device via the network connection.

16. The security device of claim 15 , wherein the identifier and the seed are provided to the client system by the trusted data store based on a request for an identifier and seed pair, and prior to the security device establishing the network connection with the client system.

17. The security device of claim 15 , wherein the network connection is a TCP connection.

18. The security device of claim 15 , wherein the trusted data store includes the system counter, and wherein the system counter monotonically increases for each request received from the client system.

19. The security device of claim 15 , wherein the system counter is updated in accordance with a determination that the first one-time password hash and the second one-time password hash match.

20. A non-transitory computer readable storage medium, storing one or more programs for execution by one or more processors, the one or more programs including instructions for:

establishing a network connection with a client system;

after establishing the network connection, receiving from the client system a first packet, the first packet including:

an identifier,

a first counter value, wherein the first counter value is one of a plurality of incremental counts generated by a system counter, and

a first one-time password hash generated by the client system based on the identifier, the first counter value, and a seed;

based on the identifier received from the client system, retrieving from a trusted data store the seed and a second counter value,

wherein the identifier and the seed are provided to the client system by the trusted data store based on authenticating the client system;

based on the first counter value being larger than the second counter value:

generating a second one-time password hash based on the identifier, the first counter value, and the seed;

determining whether the first one-time password hash and the second one-time password hash match; and

in accordance with a determination that the first one-time password hash and the second one-time password hash match, granting, to the client system, access to one or more network resources via the network connection.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2018
From: MCI COMMUNICATIONS SERVICES, INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 047592/0888 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2018
From: VIDDER, INC.
To: MCI COMMUNICATIONS SERVICES, INC.
Reel/Frame 047532/0582 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2017
From: SCHROEDER, TED; LENGYEL, GABOR
To: VIDDER, INC.
Reel/Frame 040840/0946 →
Continuity (1)
Provisional Application 62287790 · Jan 27, 2016
Cited By (3)
US 12,362,947 US 12,464,355 US 12,531,725