# US 11,310,243 B2 · Secure communication with an end device through an intermediary system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,310,243 B2
- Document ID: US11310243B2
- Status: Granted
- Kind: B2
- Application number: 17/375,862
- Filed: 2021-07-14
- Published: 2021-11-04
- Granted: 2022-04-19
- Earliest claimed: 2019-06-10
- Assignees: Luna XIO, Inc.
- Applicants: Luna XIO, Inc.
- Inventors: Alan Gous; Jeffrey Bazar; Arman Maghbouleh
- Web page: https://patentgrep.com/patent/US11310243B2

## CPC

- H04L 63/107: {wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals}
- H04L 63/108: {when the policy decisions are valid for a limited amount of time}
- G06F 21/44: Program or device authentication
- G06F 21/6245: {Protecting personal data, e.g. for financial or medical purposes}
- H04L 12/66: Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
- H04L 63/0884: {by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity}
- H04W 12/009: {specially adapted for networks, e.g. wireless sensor networks, ad-hoc networks, RFID networks or cloud networks}
- H04W 12/0433: Key management protocols
- H04W 12/084: using delegated authorisation, e.g. open authorisation [OAuth] protocol
- H04W 12/63: Location-dependent; Proximity-dependent
- H04W 12/75: Temporary identity
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

An example intermediary system allows an owner computer system to securely identify and communicate with an end device. The end device uses master secret and time data shared with the owner computer system to generate and advertise a time-dependent device identifier and potentially an encrypted device message. The intermediary system augments the received device data with a message (e.g., an estimate of the device's location) encrypted using the time-dependent device identifier as an encryption key. Furthermore, it hashes the time-dependent device identifier for additional security. The augmented data is forwarded to a server for retrieval and processing by the owner computer system. The owner uses the shared master secret, time data and hash function to generate a hashed time-dependent device identifier used to retrieve matching augmented data from the server. The retrieved message data is decrypted using the reverse of the encryption operations.

## Claims

### Claim 1

A method to enable an end device to securely communicate with an owner computer system associated with the end device using an intermediary system intermediate the end device and the owner computer system, the method comprising:
at the intermediary system:
receiving end device advertised data comprising a time-dependent device identifier generated at the end device using a time-dependent data calculation, a shared master secret and time data comprising current time data and reference time data, the shared master secret and the reference time data shared between the end device and the owner computer system; generating, using at least one processor, augmented data comprising:
a hashed device identifier generated by hashing the time-dependent device identifier using a hash function known to both the intermediary system and the owner computer system; and
an encrypted message generated by encrypting a message using the time-dependent device identifier as an encryption key for a symmetric encryption/decryption method known to both the intermediary system and the owner computer system; and
forwarding the augmented data to a server for retrieval and processing by the owner computer system to allow the owner computer system to communicate with the end device securely,
at the server:
receiving and storing the augmented data, and making the augmented data available to be retrieved and processed by the owner computer system;
at the owner computer system:
obtaining retrieval request data comprising a retrieval device identifier and a retrieval hashed device identifier;
sending the retrieval hashed device identifier to the server;
at the server:
receiving the retrieval hashed device identifier;
comparing the retrieval hashed device identifier with the hashed device identifier comprised by the augmented data stored on the server;
detecting a correspondence between the retrieval hashed device identifier and the hashed device identifier comprised by the augmented data stored on the server;
responsive to the detection of the correspondence, returning the corresponding augmented data stored on the server to the owner computer system; and
at the owner computer system, receiving the augmented data.

### Claim 2 (depends on 1)

The method of claim 1, wherein the intermediary system comprises a gateway and wherein the augmented data further comprises lower-level gateway data, generated at the gateway.

### Claim 3 (depends on 1)

The method of claim 1, wherein the intermediary system comprises a combination of a gateway and proxy, and wherein the augmented data further comprises proxy data generated at the proxy.

### Claim 4 (depends on 3)

The method of claim 3, wherein the generating of the proxy data at the proxy further comprises replacing gateway identifying data identifying the gateway within the augmented data, wherein the gateway identifying data is generated at the gateway, sent by the gateway to the proxy, and received at the proxy.

### Claim 5 (depends on 1)

The method of claim 1, wherein the obtaining of the retrieval request data at the owner computer system comprises generating the retrieval request data using the time-dependent data calculation, the shared master secret, retrieval time data comprising current request time data, and the reference time data, and the hash function.

### Claim 6 (depends on 5)

The method of claim 5, wherein the processing of the augmented data at the owner computer system comprises:
retrieving the encrypted message from the augmented data;
decrypting the encrypted message using the retrieval device identifier and the symmetric encryption/decryption method known to both the owner computer system and the intermediary system; and
retrieving the message upon decrypting the encrypted message.

### Claim 7 (depends on 6)

The method of claim 6, wherein:
the device-advertised data further comprises an encrypted device message generated using a device message, a one-time pad and a second symmetric encryption/decryption algorithm known to both the end device and the owner computer system;
the augmented data further comprises the encrypted device message;
the retrieval request data at the owner computer system further comprises a retrieval one-time pad; and
the processing of the augmented data at the owner computer system further comprises:
retrieving the encrypted device message from the augmented data;
decrypting the encrypted device message using the retrieval one-time pad and the second symmetric encryption/decryption algorithm known to both the end device and the owner computer system; and
retrieving the device message upon decrypting the encrypted device message.

### Claim 8 (depends on 7)

The method of claim 7, wherein:
the one-time pad is generated at the end device using the time-dependent data calculation, the time data, and the shared master secret; and
the retrieval one-time pad is generated at the owner computer system using the time-dependent data calculation, the retrieval time data, and the shared master secret.

### Claim 9 (depends on 8)

The method of claim 8, wherein the second symmetric encryption/decryption algorithm comprises XOR encryption/decryption.

### Claim 10 (depends on 7)

The method of claim 7, wherein the communication of the owner computer system with the end device comprises the owner computer system locating the end device.

### Claim 11 (depends on 10)

The method of claim 10, wherein:
the message comprises estimated end device location information generated by the intermediary system, and
the owner computer system locating of the end device comprises retrieval of the estimated end device location information from the retrieved message.

### Claim 12 (depends on 10)

The method of claim 10, wherein the device message comprises device location information and the owner computer system locating of the end device comprises the retrieval of the device location information from the retrieved device message.

### Claim 13 (depends on 10)

The method of claim 10, wherein receiving of the end device advertised data further comprises receiving a radio signal at a receiving time, the message comprising the receiving time, the owner computer system locating of the end device to use the receiving time from the retrieved message.

### Claim 14 (depends on 7)

The method of claim 7, wherein the device message comprises sensor data and the communication of the owner computer system with the end device comprises the owner computer system retrieving sensor data from the retrieved device message.

### Claim 15 (depends on 14)

The method of claim 14, wherein the sensor data comprises one of at least temperature data, gas sensing data, humidity data and device movement information.

### Claim 16

A computing system comprising:
a plurality of processors; and
a memory storing instructions that, when executed by the plurality of processors, configure the system to:
at an intermediary system:
receive end device advertised data comprising a time-dependent device identifier generated at the end device using a time-dependent data calculation, a shared master secret and time data comprising current time data and reference time data, the shared master secret and the reference time data shared between an end device and an owner computer system;
generate augmented data comprising:
a hashed device identifier generated by hashing the time-dependent device identifier using a hash function known to both the intermediary system, intermediate the end device and the owner computer system, and the owner computer system; and
an encrypted message generated by encrypting a message using the time-dependent device identifier as an encryption key for a symmetric encryption/decryption method known to both the intermediary system and the owner computer system; and
forward the augmented data to a server for retrieval and processing by the owner computer system to allow the owner computer system to communicate with the end device securely;
at the server:
receive the augmented data, and making the augmented data available to be retrieved and processed by the owner computer system;
obtain retrieval request data comprising a retrieval device identifier and a retrieval hashed device identifier;
send the retrieval hashed device identifier to the server;
receive the retrieval hashed device identifier;
compare the retrieval hashed device identifier with the hashed device identifier comprised by the augmented data stored on the server;
detect a correspondence between the retrieval hashed device identifier and the hashed device identifier comprised by the augmented data stored on the server;
responsive to the detection of the correspondence, return the corresponding augmented data stored on the server to the owner computer system; and
at the owner computer system:
receive the augmented data.

### Claim 17

A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that, when executed by a computer system, cause the computer system to:
at an intermediary system:
receive end device advertised data comprising a time-dependent device identifier generated at the end device using a time-dependent data calculation, a shared master secret and time data comprising current time data and reference time data, the shared master secret and the reference time data shared between an end device and an owner computer system;
generate augmented data comprising:
a hashed device identifier generated by hashing the time-dependent device identifier using a hash function known to both the intermediary system, intermediate the end device and the owner computer system, and the owner computer system; and
an encrypted message generated by encrypting a message using the time-dependent device identifier as an encryption key for a symmetric encryption/decryption method known to both the intermediary system and the owner computer system; and
forward the augmented data to a server for retrieval and processing by the owner computer system to allow the owner computer system to communicate with the end device securely;
at the server:
receive the augmented data, and making the augmented data available to be retrieved and processed by the owner computer system;
obtain retrieval request data comprising a retrieval device identifier and a retrieval hashed device identifier;
send the retrieval hashed device identifier to the server;
receive the retrieval hashed device identifier;
compare the retrieval hashed device identifier with the hashed device identifier comprised by the augmented data stored on the server;
detect a correspondence between the retrieval hashed device identifier and the hashed device identifier comprised by the augmented data stored on the server;
responsive to the detection of the correspondence, return the corresponding augmented data stored on the server to the owner computer system; and
at the owner computer system:
receive the augmented data.
