IP Library Granted Patent US 12,500,930
Granted Patent B2
US 12,500,930 · App. 18/299,712 · Granted Dec 16, 2025

Stateless transmission control protocol connections

Inventors: Ronald Alan Dilley (Simi Valley, CA); Thomas Liston (McHenry, IL)
Assignee: AT&T Intellectual Property I, L.P.
H04L63/1491H04L47/34H04L47/35H04L63/1425H04L63/1466H04L63/166H04L69/16
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 12,500,930
App. No.
18/299,712
Granted
Dec 16, 2025
Kind
B2
Abstract

A method includes receiving a first message from a client device requesting an establishment of a transmission control protocol connection, wherein the first message contains a first sequence number for the transmission control protocol connection, calculating, based on the first sequence number and a first integer from a list of a plurality of randomly generated integers, a second sequence number for the transmission control protocol connection, sending a second message to the client device in response to the first message, wherein the second message contains the second sequence number, receiving a fourth message containing an acknowledgement number, extracting a second integer from the acknowledgement number, determining whether the fourth message originated with the client device by comparing the second integer to the first integer, and sending a fifth message to the client device, wherein a type of the fifth message is selected based on an outcome of the determining.

Claims (55)

1 . A method comprising:

receiving, by a processing system including at least one processor, a first transmission control protocol message from a client device requesting an establishment of a transmission control protocol connection, wherein the first transmission control protocol message contains a first sequence number for the transmission control protocol connection;

calculating, by the processing system based on the first sequence number and a first integer from a list of a plurality of randomly generated integers, a second sequence number for the transmission control protocol connection, wherein the plurality of randomly generated integers comprises:

2 m thirty-two-bit integers, and a value of m represents a mask width selected by the processing system; and

k thirty-two bit overmask values comprising values of overmask(0) through overmask (k−1);

sending, by the processing system, a second transmission control protocol message to the client device in response to the first transmission control protocol message, wherein the second transmission control protocol message contains the second sequence number;

receiving, by the processing system, a fourth transmission control protocol message containing an acknowledgement number and data;

extracting, by the processing system, a second integer from the acknowledgement number;

determining, by the processing system, whether the fourth transmission control protocol message originated with the client device by comparing the second integer to the first integer; and

sending, by the processing system, a fifth transmission control protocol message to the client device, wherein a type of the transmission control protocol fifth message is selected based on an outcome of the determining.

2 . The method of claim 1 , wherein the plurality of randomly generated integers is sorted in the list by order according to a value of a set of m least significant bits of each integer of the plurality of randomly generated integers, and wherein the value of the m least significant bits of each integer is unique among the plurality of randomly generated integers.

3 . The method of claim 2 , wherein the order is an ascending order.

4 . The method of claim 2 , wherein the order is a descending order.

5 . The method of claim 2 , wherein the first integer is a first unused integer of the plurality of randomly generated integers that is sorted by order.

6 . The method of claim 5 , wherein the calculating comprises:

executing a first bitwise exclusive OR operation on an integer representation of an internet protocol address of the client device, a source port of the client device from which the first message originated, and a value representing a destination port of the processing system at which the first transmission control protocol message was received, bit shifted sixteen bits left; and

executing a second bitwise exclusive OR operation on a result of the first bitwise exclusive OR operation, the first integer, and a first overmask value.

7 . The method of claim 6 , wherein the extracting comprises:

executing a third bitwise exclusive OR operation on a value equal to the acknowledgement number minus one, an integer representation of an internet protocol address of a device from which the fourth transmission control protocol message was received, a source port of the device from which the fourth transmission control protocol message originated, and a value representing a destination port of the processing system at which the fourth transmission control protocol message was received, bit shifted sixteen bits left.

8 . The method of claim 7 , wherein the comparing comprises using a set of m least significant bits of a result of the third bitwise exclusive OR operation to look up the second integer in the plurality of randomly generated integers.

9 . The method of claim 2 , further comprising:

generating the plurality of randomly generated integers; and

sorting the plurality of randomly generated integers by order according to a value of a set of m least significant bits of each integer of the plurality of randomly generated integers.

10 . The method of claim 1 , further comprising:

establishing the transmission control protocol connection after sending the second transmission control protocol message, but prior to receiving the fourth transmission control protocol message.

11 . The method of claim 10 , wherein the fifth transmission control protocol message comprises an acknowledgement message when the comparing determines that the second integer matches the first integer.

12 . The method of claim 11 , wherein the acknowledgement message includes an indication that the transmission control protocol connection should be terminated.

13 . The method of claim 10 , wherein the fifth transmission control protocol message comprises a reset message when the comparing determines that the second integer does not match the first integer.

14 . The method of claim 1 , wherein the processing system is configured as part of a sensor in an internet protocol network.

15 . The method of claim 14 , wherein the sensor listens to traffic on all ports associated with an internet protocol address simultaneously.

16 . The method of claim 15 , wherein the sensor responds to inbound traffic on the all ports at full line speed.

17 . The method of claim 14 , wherein the sensor comprises a honeypot.

18 . A non-transitory computer-readable medium storing instructions which, when executed by a processing system including at least one processor, cause the processing system to perform operations, the operations comprising:

receiving a first transmission control protocol message from a client device requesting an establishment of a transmission control protocol connection, wherein the first transmission control protocol message contains a first sequence number for the transmission control protocol connection;

calculating, based on the first sequence number and a first integer from a list of a plurality of randomly generated integers, a second sequence number for the transmission control protocol connection, wherein the plurality of randomly generated integers comprises:

2 m thirty-two-bit integers, and a value of m represents a mask width selected by the processing system; and

k thirty-two bit overmask values comprising values of overmask(0) through overmask(k−1);

sending a second transmission control protocol message to the client device in response to the first transmission control protocol message, wherein the second transmission control protocol message contains the second sequence number;

receiving a fourth transmission control protocol message containing an acknowledgement number and data;

extracting a second integer from the acknowledgement number;

determining whether the fourth transmission control protocol message originated with the client device by comparing the second integer to the first integer; and

sending a fifth transmission control protocol message to the client device, wherein a type of the fifth transmission control protocol message is selected based on an outcome of the determining.

19 . The non-transitory computer-readable medium of claim 18 , wherein the plurality of randomly generated integers is sorted in the list by order according to a value of a set of m least significant bits of each integer of the plurality of randomly generated integers, and wherein the value of the m least significant bits of each integer is unique among the plurality of randomly generated integers.

20 . A system comprising:

a processing system including at least one processor; and

a non-transitory computer-readable medium storing instructions which, when executed by the processing system, cause the processing system to perform operations, the operations comprising:

receiving a first transmission control protocol message from a client device requesting an establishment of a transmission control protocol connection, wherein the first transmission control protocol message contains a first sequence number for the transmission control protocol connection;

calculating, based on the first sequence number and a first integer from a list of a plurality of randomly generated integers, a second sequence number for the transmission control protocol connection, wherein the plurality of randomly generated integers comprises:

2 m thirty-two-bit integers, and a value of m represents a mask width selected by the processing system; and

k thirty-two bit overmask values comprising values of overmask(0) through overmask(k−1);

sending a second transmission control protocol message to the client device in response to the first transmission control protocol message, wherein the second transmission control protocol message contains the second sequence number;

receiving a fourth transmission control protocol message containing an acknowledgement number and data;

extracting a second integer from the acknowledgement number;

determining whether the fourth transmission control protocol message originated with the client device by comparing the second integer to the first integer; and

sending a fifth transmission control protocol message to the client device, wherein a type of the fifth transmission control protocol message is selected based on an outcome of the determining.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2023
From: DILLEY, RONALD ALAN; LISTON, THOMAS
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 063628/0918 →
Continuity (1)
Related Publication 20240348648A1 · Oct 17, 2024
References Cited (6)
US 7502860B1 · Champagne · 2009 [cited by examiner]
US 10270705B1 · Adelman · 2019 [cited by examiner]
US 11595423B2 · Hodgman et al. · 2023 [cited by applicant]
US 20150047032A1 · Hannis · 2015 [cited by examiner]
US 20230198912A1 · Mcdonnell · 2023 [cited by examiner]
Khawaja, Areeb, “Enhancing Cybersecurity with Low-Interaction Honeypots: A Strategic Approach to Threat Intelligence,” Linkedin, Jun. 8, 2023, https://www.linkedin.com/pulse/enhancing-cybersecurity-low-interaction-honey… [cited by applicant]