IP Library Granted Patent US 12,587,542
Granted Patent B2
US 12,587,542 · App. 18/758,396 · Granted Mar 24, 2026

Man-in-the-middle extender defense in data communications

Inventor: Bernard M. Woodland (Cary, NC)
Assignee: Itron, Inc.
H04L63/126G06F21/44H04L9/088G06F2221/2129
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,587,542
App. No.
18/758,396
Granted
Mar 24, 2026
Kind
B2
Abstract

A method of determining whether a received message at a communications device is from a legitimate second device may include building a message intended for a legitimate second device, generating a time delay using a secret key known to the device and the legitimate second device, sending the built message to the legitimate second device, starting a timer at the time of sending the built message, receiving a response to the sent message, determining a response time of the received response based on a time value of the timer, determining an acceptable receive window of time based on the generated time delay, determining whether the determined response time is within the determined acceptable receive window of time, and when the determined response time is within the determined acceptable receive window of time, recognizing the received response as a legitimate message from the legitimate second device.

Claims (50)

1 . A computing device comprising:

a processor;

a transceiver communicably coupled with the processor, the transceiver configured to communicate over a network; and

a memory communicably coupled with the processor, the memory storing instructions that, when executed by the processor, direct the computing device to perform operations including:

sending a request for a data point to one or more proximate devices;

receiving at least one requested data point from at least two of the one or more proximate devices;

determining whether the at least one requested data point includes predetermined acceptable values;

analyzing the at least one requested data point that include acceptable values to determine at least one reconciled data point;

storing the at least one reconciled data point; and

sending the at least one reconciled data point to one or more other devices.

2 . The computing device of claim 1 , wherein the at least one reconciled data point includes a current time value and the at least one requested data point includes an elapsed time since a timestamp associated with the at least one requested data point was taken.

3 . The computing device of claim 1 , the operations further comprising determining that the at least one requested data point includes at least one predetermined acceptable value, the at least one predetermined acceptable value including at least one of:

falling within a predetermined range;

a variation value from a predetermined value; or

a variation value determined from a difference between the at least one requested data point from the at least two of the one or more proximate devices.

4 . The computing device of claim 1 , the operations further comprising determining acceptable data points from the at least one requested data point, wherein determining the at least one reconciled data point includes at least one of averaging the acceptable data points or determining a median of the acceptable data points.

5 . The computing device of claim 1 , the operations further comprising updating a clock associated with the computing device, wherein the at least one reconciled data point includes a current time value.

6 . The computing device of claim 1 , wherein sending the at least one reconciled data point to the one or more other devices causes the one or more other devices to become synchronized.

7 . The computing device of claim 1 , wherein sending the at least one reconciled data point to the one or more other devices includes sending an elapsed time value.

8 . A method comprising:

sending a request for a data point to one or more proximate devices;

receiving at least one requested data point from at least two of the one or more proximate devices;

determining whether the at least one requested data point includes predetermined acceptable values;

analyzing the at least one requested data point that include acceptable values to determine at least one reconciled data point;

storing the at least one reconciled data point; and

sending the at least one reconciled data point to one or more other devices.

9 . The method of claim 8 , wherein the at least one reconciled data point includes a current time value and the at least one requested data point includes an elapsed time since a timestamp associated with the at least one requested data point was taken.

10 . The method of claim 8 , further comprising determining that the at least one requested data point includes at least one predetermined acceptable value, the at least one predetermined acceptable value including at least one of:

falling within a predetermined range;

a variation value from a predetermined value; or

a variation value determined from a difference between the at least one requested data point from the at least two of the one or more proximate devices.

11 . The method of claim 8 , further comprising determining acceptable data points from the at least one requested data point, wherein determining the at least one reconciled data point includes at least one of averaging the acceptable data points or determining a median of the acceptable data points.

12 . The method of claim 8 , further comprising updating a clock associated with a utility meter, wherein the at least one reconciled data point includes a current time value.

13 . The method of claim 8 , wherein sending the at least one reconciled data point to the one or more other devices causes the one or more other devices to become synchronized.

14 . The method of claim 8 , wherein sending the at least one reconciled data point to the one or more other devices includes sending an elapsed time value.

15 . At least one non-transitory computer-readable medium having computer program logic stored thereon, the computer program logic including instructions that, when executed by a processor of a utility meter, cause the utility meter to perform operations including:

sending a request for a data point to one or more proximate devices;

receiving at least one requested data point from at least two of the one or more proximate devices;

determining whether the at least one requested data point includes predetermined acceptable values;

analyzing the at least one requested data point that include acceptable values to determine at least one reconciled data point;

storing the at least one reconciled data point; and

sending the at least one reconciled data point to one or more other devices.

16 . The at least one non-transitory computer-readable medium of claim 15 , wherein the at least one reconciled data point includes a current time value and the at least one requested data point includes an elapsed time since a timestamp associated with the at least one requested data point was taken.

17 . The at least one non-transitory computer-readable medium of claim 15 , further comprising determining that the at least one requested data point includes at least one predetermined acceptable value, the at least one predetermined acceptable value including at least one of:

falling within a predetermined range;

a variation value from a predetermined value; or

a variation value determined from a difference between the at least one requested data point from the at least two of the one or more proximate devices.

18 . The at least one non-transitory computer-readable medium of claim 15 , further comprising determining acceptable data points from the at least one requested data point, wherein determining the at least one reconciled data point includes at least one of averaging the acceptable data points or determining a median of the acceptable data points.

19 . The at least one non-transitory computer-readable medium of claim 15 , the operations further comprising updating a clock associated with the utility meter, wherein the at least one reconciled data point includes a current time value.

20 . The at least one non-transitory computer-readable medium of claim 15 , wherein sending the at least one reconciled data point to the one or more other devices causes the one or more other devices to become synchronized.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2025
From: WOODLAND, BERNARD M.
To: ITRON, INC.
Reel/Frame 072918/0586 →
SECURITY INTEREST Recorded Sep 15, 2025
From: ITRON, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 072870/0873 →