# US 2016/0366106 A1 · System, Apparatus and Method for Secure Coordination of a Rendezvous Point for Distributed Devices Using Entropy Multiplexing

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

- Number: US 2016/0366106 A1
- Document ID: US20160366106A1
- Status: Published application
- Kind: A1
- Application number: 14/865,576
- Filed: 2015-09-25
- Published: 2016-12-15
- Earliest claimed: 2015-06-09
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: NED M. SMITH; MATS G. AGERSTAM; NARASIMHAM GADIRAJU
- Web page: https://patentgrep.com/patent/US20160366106A1

## CPC

- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/083: {using passwords (cryptographic mechanisms or cryptographic arrangements for entity authentication using a predetermined code H04L9/3226)}
- H04L 67/1001: for accessing one among a plurality of replicated servers
- H04W 12/06: Authentication
- H04W 12/61: Time-dependent
- H04W 12/63: Location-dependent; Proximity-dependent
- H04W 12/68: Gesture-dependent or behaviour-dependent
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

In one embodiment, a method includes: receiving, in a first device of a first segment of a first network, a root seed from a second device; generating a pseudo-random seed tree using the root seed; according to a predetermined schedule, accessing at a first time a random number at a level of the pseudo-random seed tree associated with the first time; generating a rendezvous point record to enable communication with a third device in a second segment of the first network, the rendezvous point record including a rendezvous point name based on the random number; and encrypting and sending a message to the third device via an exchange server identified using the rendezvous point record, where the rendezvous point record does not include connection metadata and the exchange server has an anonymous network location.

## Claims

### Claim 1

At least one computer readable storage medium comprising instructions that when executed enable a system to:
generate, in a first device of a first segment of a first network, a pseudo-random seed tree from a root seed;
access, in the first device at a first time, a random number at a level of the pseudo-random seed tree that corresponds to the first time;
generate, in the first device, (a)(i) a rendezvous point name based on the random number, and (a)(ii) a rendezvous point record, which includes the rendezvous point name, to enable communication between the first device and a second device that is in a second segment of the first network; and
send, from the first device, (b)(i) the rendezvous record to an exchange server, and (b)(ii) an encrypted message to the second device via the exchange server.

### Claim 2 (depends on 1)

The at least one computer readable storage medium of claim 1, further comprising instructions that when executed enable the system to identify the exchange server based on the rendezvous point name.

### Claim 3 (depends on 3)

The at least one computer readable storage medium of claim 3, further comprising instructions that when executed enable the system to determine the first time based on a predetermined schedule accessible to the first device before the first device accesses the random number.

### Claim 4 (depends on 3)

The at least one computer readable storage medium of claim 3, wherein the rendezvous point record includes connection metadata corresponding to the first device and the exchange server.

### Claim 5 (depends on 4)

The at least one computer readable storage medium of claim 4, wherein the connection metadata does not reveal an identity of the first device, an identity of the first segment, or a network location of the exchange server where the first and second segments communicatively couple at a rendezvous point corresponding to the rendezvous point name.

### Claim 6 (depends on 4)

The at least one computer readable storage medium of claim 4, wherein the rendezvous point record does not include connection metadata specific to the first device.

### Claim 7 (depends on 1)

The at least one computer readable storage medium of claim 1, further comprising instructions that when executed enable the system to:
send the encrypted message to the second device via the exchange server, which is located on the internet;
wherein the first and second segments are physically located remote from one another.

### Claim 8 (depends on 1)

The at least one computer readable storage medium of claim 1, further comprising instructions that when executed enable the system to:
generate, in the first device, a resource name that is based on a value determined from the pseudo-random seed tree and that corresponds to the first segment; and
include the resource name in the rendezvous point record;
wherein the rendezvous point name includes a random value and the resource name includes another random value.

### Claim 9 (depends on 1)

The at least one computer readable storage medium of claim 1, further comprising instructions that when executed enable the system to:
after sending the rendezvous record to the exchange server, determine whether time for the rendezvous point record has expired; and
when the time for the rendezvous point record has expired, generate, in the first device, (a)(i) an additional rendezvous point name based on an additional random number, and (a)(ii) an additional rendezvous point record, which includes the additional rendezvous point name, to enable communication between the first and second devices.

### Claim 10 (depends on 1)

The at least one computer readable storage medium of claim 1, further comprising instructions that when executed enable the system to:
when the time for the rendezvous point record has expired, generate, in the first device, (a)(i) an additional resource name based on an additional value determined from the pseudo-random seed tree and that corresponds to the first segment, and (a)(ii) the additional rendezvous point record, which includes the additional resource name, to enable communication between the first and second devices.

### Claim 11 (depends on 1)

The at least one computer readable storage medium of claim 1, further comprising instructions that when executed enable the system to:
obtain, in the first device, first and second shares of the root seed;
determine whether the first and second shares satisfy a threshold; and
in response to determining the first and second shares satisfy the threshold, generate the root seed in the first device.

### Claim 12 (depends on 1)

The at least one computer readable storage medium of claim 1, further comprising instructions that when executed enable the system to:
access a second exchange server based on the rendezvous point name; and
selecting the exchange server based on accessing the second exchange server.

### Claim 13 (depends on 1)

The at least one computer readable storage medium of claim 1, further comprising instructions that when executed enable the system to communicatively couple the first and second devices via the exchange server based on the rendezvous record and a rendezvous record of the second device each including equivalent rendezvous point names comprising equivalent random values.

### Claim 14 (depends on 1)

The at least one computer readable storage medium of claim 1, further comprising instructions that when executed enable the system to send, using an encrypted internet protocol (IP) address for the exchange server, (b)(i) the rendezvous record to the exchange server, and (b)(ii) the encrypted message to the second device.

### Claim 15 (depends on 1)

The at least one computer readable storage medium of claim 1, further comprising instructions that when executed enable the system to encrypt a message, to form the encrypted message, based on a key corresponding to a key of the second device, to provide end-to-end protection for encrypted message between the first and second devices such that encrypted message is not visible to the exchange server.

### Claim 16 (depends on 1)

The at least one computer readable storage medium of claim 1, further comprising instructions that when executed enable the system to discover the second device, with the first device, based on a resource name for the second device.

### Claim 17 (depends on 1)

The at least one computer readable storage medium of claim 1, further comprising instructions that when executed enable the system to:
generate a topic, in the first device, based on a value determined from the pseudo-random seed tree; and
publish, with the first device, the topic to the exchange server in a publish-subscribe messaging protocol.

### Claim 18

A system comprising:
a first device including at least one first memory and at least one first processor coupled to the at least one first memory; and
a second device including at least one second memory and at least one second processor coupled to the at least one second memory;
the at least one first and second processors to perform operations comprising:
generating, when the first device is included a first segment of a first network and the second device is included a second segment of the first network, (a)(i) in the first device a pseudo-random seed tree from a root seed, and (a)(ii) in the second device an additional instance of the pseudo-random seed tree from an additional instance of the root seed;
accessing (b)(i) in the first device at a first time period a random number of the pseudo-random seed tree that corresponds to the first time, and (b)(ii) in the second device at the first time period the random number of the additional instance of the pseudo-random seed tree that corresponds to the first time period;
generating, in the first device, (c)(i) a rendezvous point name based on the random number, and (c)(ii) a rendezvous point record that includes the rendezvous point name;
generating, in the second device, (d)(i) the rendezvous point name based on the random number, and (d)(ii) an additional rendezvous point record that includes the rendezvous point name;
sending, from the first device, (e)(i) the rendezvous record to an exchange server, and (e)(ii) an encrypted message to the second device via the exchange server; and
sending, from the second device, the additional rendezvous record to the exchange server and, based on the rendezvous record and the additional rendezvous record, receiving the encrypted message at the second device via the exchange server.

### Claim 19 (depends on 18)

The system of claim 18, wherein the operations comprise each of the first and second devices selecting the exchange server based on the rendezvous point name.

### Claim 20 (depends on 18)

The system of claim 18, wherein the operations comprise each of the first and second devices determining the first time period based on a predetermined schedule accessible to the first and second devices before the first device accesses the random number.

### Claim 21 (depends on 18)

The system of claim 18, wherein the operations comprise:
in the first device, (a)(i) generating a resource name that is based on a value determined from the pseudo-random seed tree and that corresponds to the first segment; and
(a)(ii) including the resource name in the rendezvous point record; and
in the second device, (b)(i) generating an additional resource name that is based on an additional value determined from the pseudo-random seed tree and that corresponds to the second segment; and (b)(ii) including the additional resource name in the additional rendezvous point record;
wherein the rendezvous point name includes a random value and the resource name includes another random value.

### Claim 22 (depends on 18)

The system of claim 18, wherein the operations comprise:
after sending the rendezvous record to the exchange server, the first device determining whether time for the rendezvous point record has expired;
after sending the additional rendezvous record to the exchange server, the second device determining whether time for the rendezvous point record has expired; and
when the time for the rendezvous point record has expired, generate, in the first and second devices another plurality of rendezvous point records, which include another plurality of rendezvous point names.

### Claim 23 (depends on 18)

The system of claim 18, wherein the operations comprise communicatively coupling the first and second devices via the exchange server based on the rendezvous record and the additional rendezvous record each including equivalent rendezvous point names comprising equivalent random values.

### Claim 24

An apparatus comprising:
a first device including at least one first memory and at least one first processor coupled to the at least one first memory, the at least one first processor to perform operations comprising:
determining a pseudo-random seed tree from a root seed;
when the first device is included in a first segment of a first network, accessing at a first time a random value at a level of the pseudo-random seed tree that corresponds to the first time;
determining in the first device, (a)(i) a rendezvous point name based on the random value, and (a)(ii) a rendezvous point record, which includes the rendezvous point name, to enable communication between the first device and a second device that is in a second segment of the first network; and
communicating (b)(i) the rendezvous record to an exchange server, and (b)(ii) an encrypted message to the second device via the exchange server.

### Claim 25 (depends on 24)

The apparatus of claim 24, wherein the operations comprise selecting the exchange server based on the rendezvous point name.
