# US 10,122,699 B1 · Systems and methods for ephemeral shared data set management and communication protection

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

- Number: US 10,122,699 B1
- Document ID: US10122699B1
- Status: Granted
- Kind: B1
- Application number: 15/788,981
- Filed: 2017-10-20
- Granted: 2018-11-06
- Earliest claimed: 2017-05-31
- Assignees: Infosci, LLC
- Applicants: InfoSci, LLC
- Inventors: John Ellingson; Matthew Richardson
- Web page: https://patentgrep.com/patent/US10122699B1

## CPC

- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04W 12/04: Key management, e.g. using generic bootstrapping architecture [GBA]
- G06F 16/176: Support for shared access to files; File sharing support
- G06F 16/178: Techniques for file synchronisation in file systems
- G06F 21/10: Protecting distributed programs or content, e.g. vending or licensing of copyrighted material (protection in video systems or pay television H04N7/16) {; Digital rights management [DRM]}
- G06F 21/60: Protecting data
- H04L 63/04: {for providing a confidential data exchange among entities communicating through data packet networks}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/06: {for supporting key management in a packet data network (cryptographic mechanisms or cryptographic arrangements for key management H04L9/08)}
- H04W 12/10: Integrity
- 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)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Various embodiments provide methods and computing devices configured to implement the methods for dynamically changing an ephemeral shared data set. Various embodiments provide methods and computing devices configured to implement the methods for the dynamic generation of a value that may be used to protect a communication based on the dynamically changed ephemeral shared data set. Various embodiments incorporate the assumption that trusted systems ultimately are demonstrably insecure, because such systems are penetrable and vulnerable. Various embodiments provide a digital communication system that assumes no trust among various network elements, for at least the reason that the digital environment is inherently untrustworthy.

## Claims

### Claim 1

A data set management device for managing synchronization of an ephemeral shared data set stored at a first computing device and a second computing device, comprising:
a memory; and
a processor coupled to the memory and configured with processor-executable instructions to perform operations comprising:
providing an ephemeral shared data set to the first computing device and the second computing device;
determining whether a data set update trigger has occurred;
generating an instruction to alter the ephemeral shared data set in response to determining that the data set update trigger has occurred;
sending the generated instruction to the first computing device and the second computing device to alter the ephemeral shared data set at the first and second computing devices according to the generated instruction so that the ephemeral shared data set stored at the first computing device is the same as the ephemeral shared data set stored at the second computing device; and
sending extraction instructions to the first computing device and the second computing device to extract elements from the ephemeral shared data set at the first computing device and the second computing device.

### Claim 2 (depends on 1)

The data set management device of claim 1, wherein the processor is configured with processor-executable instructions to perform operations such that generating an instruction to alter the ephemeral shared data set comprises:
generating an instruction to replace the ephemeral shared data set with a replacement data set determined by the data set management device.

### Claim 3 (depends on 1)

The data set management device of claim 1, wherein the processor is configured with processor-executable instructions to perform operations such that generating an instruction to alter the ephemeral shared data set comprises:
generating an instruction to add a new portion to the ephemeral shared data set based on data inputs received at the data set management device.

### Claim 4 (depends on 1)

The data set management device of claim 1, wherein the processor is configured with processor-executable instructions to perform operations such that generating an instruction to alter the ephemeral shared data set comprises:
generating an instruction to subtract a portion of the ephemeral shared data set.

### Claim 5 (depends on 1)

The data set management device of claim 1, wherein the processor is configured with processor-executable instructions to perform operations such that generating an instruction to alter the ephemeral shared data set comprises:
generating an instruction to re-order the ephemeral shared data set.

### Claim 6 (depends on 1)

The data set management device of claim 1, wherein the processor is configured with processor-executable instructions to perform operations such that generating an instruction to alter the ephemeral shared data set comprises:
generating an instruction to transform the ephemeral shared data set.

### Claim 7 (depends on 1)

The data set management device of claim 1, wherein the processor is configured with processor-executable instructions to perform operations further comprising:
performing a synchronization operation with the first computing device and the second computing device so that the altered ephemeral shared data set stored at the first computing device is the same as the altered ephemeral shared data set stored at the second computing device.

### Claim 8

A method of managing synchronization of an ephemeral shared data set stored at a first computing device and a second computing device, comprising:
providing an ephemeral shared data set from a data set management device to the first computing device and the second computing device;
determining whether a data set update trigger has occurred;
generating an instruction to alter the ephemeral shared data set in response to determining that the data set update trigger has occurred;
sending the generated instruction to the first computing device and the second computing device to alter the ephemeral shared data set at the first and second computing devices according to the generated instruction so that the ephemeral shared data set stored at the first computing device is the same as the ephemeral shared data set stored at the second computing device; and
sending extraction instructions to the first computing device and the second computing device to extract elements from the ephemeral shared data set at the first computing device and the second computing device.

### Claim 9 (depends on 8)

The method of claim 8, wherein generating an instruction to alter the ephemeral shared data set comprises:
generating an instruction to replace the ephemeral shared data set with a replacement data set determined by the data set management device.

### Claim 10 (depends on 8)

The method of claim 8, wherein generating an instruction to alter the ephemeral shared data set comprises:
generating an instruction to add a new portion to the ephemeral shared data set based on data inputs received at the data set management device.

### Claim 11 (depends on 8)

The method of claim 8, wherein generating an instruction to alter the ephemeral shared data set comprises:
generating an instruction to subtract a portion of the ephemeral shared data set.

### Claim 12 (depends on 8)

The method of claim 8, wherein generating an instruction to alter the ephemeral shared data set comprises:
generating an instruction to re-order the ephemeral shared data set.

### Claim 13 (depends on 8)

The method of claim 8, wherein generating an instruction to alter the ephemeral shared data set comprises:
generating an instruction to transform the ephemeral shared data set.

### Claim 14 (depends on 8)

The method of claim 8, further comprising:
performing a synchronization operation with the first computing device and the second computing device so that the altered ephemeral shared data set stored at the first computing device is the same as the altered ephemeral shared data set stored at the second computing device.

### Claim 15

A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a data set management device to perform operations comprising:
providing an ephemeral shared data set to a first computing device and a second computing device;
determining whether a data set update trigger has occurred;
generating an instruction to alter the ephemeral shared data set in response to determining that the data set update trigger has occurred;
sending the generated instruction to the first computing device and the second computing device to alter the ephemeral shared data set at the first and second computing devices according to the generated instruction so that the ephemeral shared data set stored at the first computing device is the same as the ephemeral shared data set stored at the second computing device; and
sending extraction instructions to the first computing device and the second computing device to extract elements from the ephemeral shared data set at the first computing device and the second computing device.

### Claim 16 (depends on 15)

The non-transitory processor-readable storage medium of claim 15, wherein the stored processor-executable instructions are configured to cause the processor of the data set management device to perform operations such that generating an instruction to alter the ephemeral shared data set comprises:
generating an instruction to replace the ephemeral shared data set with a replacement data set determined by the data set management device.

### Claim 17 (depends on 15)

The non-transitory processor-readable storage medium of claim 15, wherein the stored processor-executable instructions are configured to cause the processor of the data set management device to perform operations such that generating an instruction to alter the ephemeral shared data set comprises:
generating an instruction to add a new portion to the ephemeral shared data set based on data inputs received at the data set management device.

### Claim 18 (depends on 15)

The non-transitory processor-readable storage medium of claim 15, wherein the stored processor-executable instructions are configured to cause the processor of the data set management device to perform operations such that generating an instruction to alter the ephemeral shared data set comprises:
generating an instruction to subtract a portion of the ephemeral shared data set.

### Claim 19 (depends on 15)

The non-transitory processor-readable storage medium of claim 15, wherein the stored processor-executable instructions are configured to cause the processor of the data set management device to perform operations such that generating an instruction to alter the ephemeral shared data set comprises:
generating an instruction to re-order the ephemeral shared data set.

### Claim 20 (depends on 15)

The non-transitory processor-readable storage medium of claim 15, wherein the stored processor-executable instructions are configured to cause the processor of the data set management device to perform operations such that generating an instruction to alter the ephemeral shared data set comprises:
generating an instruction to transform the ephemeral shared data set.

### Claim 21 (depends on 15)

The non-transitory processor-readable storage medium of claim 15, wherein the stored processor-executable instructions are configured to cause the processor of the data set management device to perform operations further comprising:
performing a synchronization operation with the first computing device and the second computing device so that the altered ephemeral shared data set stored at the first computing device is the same as the altered ephemeral shared data set stored at the second computing device.

### Claim 22

A computing device, comprising:
a memory; and
a processor coupled to the memory and configured with processor-executable instructions to perform operations comprising:
selecting elements from an ephemeral shared data set stored at the computing device and a second computing device;
generating a rule set indicating the selected elements;
sending the generated rule set to the second computing device;
generating a result based on the selected elements;
receiving an encrypted communication from the second computing device;
attempting to decrypt the encrypted communication using the generated result; and
determining whether the attempted decryption was successful.

### Claim 23 (depends on 22)

The computing device of claim 22, wherein the processor is configured with processor-executable instructions to perform operations such that selecting elements from the ephemeral shared data set stored at the computing device and the second computing device comprises:
receiving instructions from a data set management device to extract elements from the ephemeral shared data set stored at the computing device and a second computing device; and
extracting elements from the ephemeral shared data set according to the instructions.

### Claim 24 (depends on 23)

The computing device of claim 23, wherein the processor is configured with processor-executable instructions to perform operations such that selecting elements from the shared data set stored at the computing device and the second computing device comprises:
selecting elements from among the extracted elements.

### Claim 25 (depends on 22)

The computing device of claim 22, wherein the processor is configured with processor-executable instructions to perform operations further comprising:
encrypting a communication using the first result in response to determining that the attempted decryption was successful; and
sending the encrypted communication to the second computing device.

### Claim 26

A method of protecting a communication, comprising:
selecting elements from an ephemeral shared data set stored at the computing device and a second computing device;
generating a rule set indicating the selected elements;
sending the generated rule set to the second computing device;
generating a result based on the selected elements;
receiving an encrypted communication from the second computing device;
attempting to decrypt the encrypted communication using the generated result; and
determining whether the attempted decryption was successful.

### Claim 27 (depends on 26)

The method of claim 26, wherein selecting elements from the ephemeral shared data set stored at the computing device and the second computing device comprises:
receiving instructions from a data set management device to extract elements from the ephemeral shared data set stored at the computing device and a second computing device; and
extracting elements from the shared data set according to the instructions.

### Claim 28 (depends on 27)

The method of claim 27, wherein selecting elements from the shared data set stored at the computing device and the second computing device comprises:
selecting elements from among the extracted elements.

### Claim 29 (depends on 26)

The method of claim 26, further comprising:
encrypting a communication using the first result in response to determining that the attempted decryption was successful; and
sending the encrypted communication to the second computing device.

### Claim 30

A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a computing device to perform operations comprising:
selecting elements from an ephemeral shared data set stored at the computing device and a second computing device;
generating a rule set indicating the selected elements;
sending the generated rule set to the second computing device;
generating a result based on the selected elements;
receiving an encrypted communication from the second computing device;
attempting to decrypt the encrypted communication using the generated result; and
determining whether the attempted decryption was successful.

### Claim 31 (depends on 30)

The non-transitory processor-readable storage medium of claim 30, wherein the stored processor-executable instructions are configured to cause the processor of the computing device to perform operations such that selecting elements from the ephemeral shared data set stored at the computing device and the second computing device comprises:
receiving instructions from a data set management device to extract elements from the ephemeral shared data set stored at the computing device and a second computing device; and
extracting elements from the shared data set according to the instructions.

### Claim 32 (depends on 31)

The non-transitory processor-readable storage medium of claim 31, wherein the stored processor-executable instructions are configured to cause the processor of the computing device to perform operations such that selecting elements from the shared data set stored at the computing device and the second computing device comprises:
selecting elements from among the extracted elements.

### Claim 33 (depends on 30)

The non-transitory processor-readable storage medium of claim 30, wherein the stored processor-executable instructions are configured to cause the processor of the computing device to perform operations further comprising:
encrypting a communication using the first result in response to determining that the attempted decryption was successful; and
sending the encrypted communication to the second computing device.
