# US 10,771,243 B1 · Multicast encryption scheme for data-ownership platform

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

- Number: US 10,771,243 B1
- Document ID: US10771243B1
- Status: Granted
- Kind: B1
- Application number: 16/861,760
- Filed: 2020-04-29
- Granted: 2020-09-08
- Earliest claimed: 2020-04-29
- Assignees: Ecosteer Srl
- Applicants: Ecosteer Srl
- Inventors: Elena Pasquali; Daniele Grazioli
- Web page: https://patentgrep.com/patent/US10771243B1

## CPC

- H04L 9/0819: {Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) (network architectures or network communication protocols for key distribution in a packet data network H04L63/062)}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/083: {involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]}
- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- H04L 9/0891: {Revocation or update of secret information, e.g. encryption key update or rekeying}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/3213: {using tickets or tokens, e.g. Kerberos (network architectures or network communication protocols for entities authentication using tickets in a packet data network H04L63/0807)}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 63/062: {for key distribution, e.g. centrally by trusted party (cryptographic mechanisms or cryptographic arrangements for key distribution involving a central third party H04L9/0819)}
- H04L 63/068: {using time-dependent keys, e.g. periodically changing keys (cryptographic mechanisms or cryptographic arrangements for controlling usage of secret information H04L9/088)}
- H04L 65/1045: Proxies, e.g. for session initiation protocol [SIP]
- H04L 65/611: for multicast or broadcast (systems for broadcast or conference H04L12/18; arrangements for broadcast or distribution combined with broadcast H04H20/00; arrangements for broadcast applications with a direct linkage to broadcast information or to broadcast space-time H04H60/00; selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS], H04W4/06)
- H04L 65/80: Responding to QoS
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 67/53: using third party service providers
- H04L 67/55: Push-based network services
- H04L 67/562: Brokering proxy services
- H04L 2209/60: Digital content management, e.g. content distribution
- H04L 2209/76: Proxy, i.e. using intermediary entity to perform cryptographic operations
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Disclosed herein are embodiments for implementing periodic management of cryptographic keys. An embodiment includes a processor configured to perform operations comprising receive a first input associating a first set of subscribers with a first data stream published by the first publisher device, and a first cryptographic key. Processor may transmit, to the first publisher device, a first confirmation, indicating that the first cryptographic key is ready for use, for example. In some embodiments, processor may release the first cryptographic key to a first set of subscribers, receive a second input from a publishing user, associating a different, second set of subscribers with the first data stream, and receive a second cryptographic key after a certain time period. Processor may further transmit, to the first device, a second confirmation, indicating that the second cryptographic key is ready for use, and release the second cryptographic key to the second set of subscribers.

## Claims

### Claim 1

A system for periodic management of cryptographic keys, the system comprising:
a plurality of computer processors, comprising a first computer processor in a first data-stream publisher device, a second computer processor in a data-stream back-end device, and a third computer processor in a first subscriber device;
a first memory communicatively coupled with the first computer processor, a second memory communicatively coupled with the second computer processor, and a third memory communicatively coupled with the third computer processor, the second memory storing computer-executable instructions that, when executed, cause at least:
the second computer processor to receive a first input associating a first set of subscribers with a first data stream published by the first data-stream publisher device;
the second computer processor to receive, via a key-proxy service, a first cryptographic key;
the second computer processor to transmit a first confirmation, indicating that the first cryptographic key is ready for use;
the second computer processor to release, via the key-proxy service, the first cryptographic key to at least the first set of subscribers comprising the first subscriber device;
the second computer processor to receive a second input, from a publishing user, associating a second set of subscribers with the first data stream published by the first data-stream publisher device, wherein the second set of subscribers excludes the first subscriber device;
the second computer processor to receive, via the key-proxy service, a second cryptographic key after a predetermined amount of time has elapsed, wherein the second cryptographic key is ineffective to decrypt data that can be decrypted using the first cryptographic key;
the second computer processor to transmit a second confirmation, indicating that the second cryptographic key is ready for use; and
the second computer processor to release the second cryptographic key to at least the second set of subscribers, whereby the first subscriber device, included in the first set of subscribers but excluded from the second set of subscribers, is unable to decrypt, using the first cryptographic key, encrypted data that requires the second cryptographic key to decrypt, irrespective of access to the first data stream by the first subscriber device.

### Claim 2 (depends on 1)

The system of claim 1, wherein the first computer processor is further configured to emit a signal to instruct at least one device, comprising the first data-stream device, to cease using a first key-generation algorithm.

### Claim 3 (depends on 1)

The system of claim 1, wherein, in response to the second input, the second computer processor is further configured to replace the first cryptographic key with the second cryptographic key.

### Claim 4 (depends on 1)

The system of claim 1, wherein the second input comprises:
selection, by the publishing user, of the first subscriber device, from the first set of subscribers, and
revocation of an access permission previously granted to the first subscriber device, such that the second set of subscribers excludes the first subscriber device.

### Claim 5 (depends on 1)

The system of claim 1, wherein the second computer processor is further configured to transmit a third confirmation that at least one of the first cryptographic key or the second cryptographic key is available, upon having been loaded by the key-proxy service.

### Claim 6 (depends on 1)

The system of claim 1, wherein the first data stream published by the first data-stream publisher device is associated with a smart contract on a decentralized, permissionless blockchain platform associated with the key-proxy service, and wherein the first data stream is tokenized via the smart contract.

### Claim 7 (depends on 6)

The system of claim 6, wherein to release the first cryptographic key, the second computer processor is further configured to associate the first cryptographic key with the smart contract; and wherein to release the second cryptographic key, the second computer processor is further configured to replace the first cryptographic key with the second cryptographic key as a current cryptographic key associated with the smart contract.

### Claim 8 (depends on 7)

The system of claim 7, wherein the second computer processor is configured to receive, via the key-proxy service, a request from the third computer processor for a current cryptographic key associated with the smart contract.

### Claim 9 (depends on 8)

The system of claim 8, wherein the first data stream published by the first data-stream publisher device is associated with a smart contract on a blockchain platform associated with the key-proxy service, and wherein the first data stream is tokenized via the smart contract.

### Claim 10 (depends on 7)

The system of claim 7, wherein to release the first cryptographic key, the second computer processor is further configured to associate the first set of subscribers with the smart contract; and wherein to release the second cryptographic key, the second computer processor is further configured to associate the second set of subscribers with the smart contract, in lieu of the first set of subscribers.

### Claim 11 (depends on 1)

The system of claim 1, wherein the first cryptographic key and the second cryptographic key are generated by the first data-stream publisher device including the first computer processor and are received by the second computer processor from the first data-stream publisher device.

### Claim 12 (depends on 1)

The system of claim 1, wherein the first computer processor is further configured to transmit an announcement to at least one subscriber device, comprising the third computer processor, that a new indexed cryptographic key is available.

### Claim 13 (depends on 12)

The system of claim 12, wherein the announcement is transmitted in response to a request from the at least one subscriber device to the first computer processor.

### Claim 14 (depends on 1)

The system of claim 1, wherein the first cryptographic key and the second cryptographic key are received from a cryptographic key generator in the system using at least one entropy source, wherein the first cryptographic key is transmitted via the key-proxy service to the second computer processor by the first publisher device as the first confirmation indicating that the first cryptographic key is ready for use, and wherein the second cryptographic key is transmitted via the key-proxy service to the second computer processor by the first publisher device as the second confirmation indicating that the second cryptographic key is ready for use.

### Claim 15

An apparatus for periodic management of cryptographic keys at a data-stream publisher, the apparatus comprising:
at least one memory device configured to store computer-executable instructions; and
at least one computer processor communicatively coupled with the at least one memory, the at least one computer processor capable of being configured, via at least the computer-executable instructions, to perform operations comprising:
load a first cryptographic key;
transmit the first cryptographic key;
receive a first confirmation that the first cryptographic key is ready for use;
encrypt at least one first data payload, wherein the at least one first data payload, once encrypted, requires the first cryptographic key for any subsequent decryption of the at least one first data payload;
publish, via a data stream, the at least one first data payload as encrypted;
load a second cryptographic key, responsive to at least a first factor comprising an indication that a predetermined amount of time has elapsed;
transmit the second cryptographic key;
emit a first notification of whether the second cryptographic key is ready for use;
receive a second confirmation that the second cryptographic key is ready for use;
encrypt at least one second data payload, wherein the at least one second data payload, once encrypted, requires the second cryptographic key for any subsequent decryption of the at least one second data payload, and wherein the first cryptographic key is ineffective to decrypt the at least one second data payload; and
publish, via the data stream, the at least one second data payload as encrypted.

### Claim 16 (depends on 15)

The apparatus of claim 15, wherein the at least one computer processor is further configured to load the second cryptographic key, in response to a second factor comprising a replacement of the first cryptographic key with the second cryptographic key.

### Claim 17 (depends on 15)

The apparatus of claim 15, wherein to load the first cryptographic key, the at least one computer processor is further configured to perform a first key-generation algorithm.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein to load the second cryptographic key, the at least one computer processor is further configured to perform a second key-generation algorithm, in response to a signal to cease using the first key-generation algorithm.

### Claim 19 (depends on 17)

The apparatus of claim 17, wherein to perform the first key-generation algorithm, the at least one computer processor is further configured to source entropy from at least one hardware source on-board the apparatus.

### Claim 20 (depends on 16)

The apparatus of claim 16, wherein to perform the first key-generation algorithm, the at least one computer processor is further configured to source entropy from at least one hardware source remote from the apparatus and communicatively coupled with the at least one computer processor via a network interface, wherein the at least one hardware source comprises another apparatus.

### Claim 21 (depends on 15)

The apparatus of claim 15, wherein to load the first cryptographic key, the at least one computer processor is further configured to receive the first cryptographic key.

### Claim 22 (depends on 15)

The apparatus of claim 15, wherein to encrypt the at least one first data payload, the at least one processor is configured to perform a first encryption algorithm for publication via the data stream, wherein, before the first encryption algorithm is performed, the at least one first data payload has been encrypted using one of the first encryption algorithm or a second encryption algorithm, and wherein a third cryptographic key is required for decryption of the encrypted data payload.

### Claim 23 (depends on 15)

The apparatus of claim 15, wherein the first cryptographic key is a part of a first asymmetric key pair, and wherein the second cryptographic key is a corresponding part of a second asymmetric key pair.

### Claim 24 (depends on 15)

The apparatus of claim 15, wherein the at least one computer processor is further configured to announce at least one of the first cryptographic key or the second cryptographic key as being available.

### Claim 25 (depends on 15)

The apparatus of claim 15, wherein the data stream is associated with a smart contract on a blockchain platform associated with a key-proxy service, and wherein the first data stream is tokenized via the smart contract.

### Claim 26 (depends on 15)

The apparatus of claim 15, further comprising an environmental sensor, a biotelemetry monitor, a geolocation device, a position-tracking device, an inventory-accounting device, a traffic-counter device, a flow-measurement device, or a combination thereof.

### Claim 27 (depends on 15)

The apparatus of claim 15, the operations further comprising:
associating the first cryptographic key with a first index value;
associating the second cryptographic key with a second index value; and
transmitting, with the second cryptographic key, the second index value to a back-end service comprising a key-proxy service.

### Claim 28 (depends on 27)

The apparatus of claim 27, the operations further comprising:
emit a second notification, to the back-end service, that the first cryptographic key is ready for use, in response to a first request of whether the first cryptographic key is ready for use; and
emit a third notification, to the back-end service, that the first cryptographic key is ready for use, in response to a second request of whether the first cryptographic key is ready for use.

### Claim 29

An apparatus for periodic management of cryptographic keys at a back-end service provider, the apparatus comprising:
at least one memory device configured to store computer-executable instructions; and
at least one computer processor communicatively coupled with the at least one memory, the at least one computer processor capable of being configured, via at least the computer-executable instructions, to perform operations comprising:
receive a first input associating a first set of subscribers with a first data stream published by a data-stream publisher device;
receive, via a key-proxy service, a first cryptographic key;
transmit a first confirmation, indicating that the first cryptographic key is ready for use;
release, via the key-proxy service, the first cryptographic key to at least the first set of subscribers comprising a first subscriber device;
receive a second input, from a publishing user, associating a second set of subscribers with the first data stream published by the data-stream publisher device, wherein the second set of subscribers excludes the first subscriber device;
receive, via the key-proxy service, a second cryptographic key after a predetermined amount of time has elapsed, wherein the second cryptographic key is ineffective to decrypt data that can be decrypted using the first cryptographic key;
transmit a second confirmation, indicating that the second cryptographic key is ready for use; and
release the second cryptographic key to at least the second set of subscribers.

### Claim 30

A non-transitory computer-readable storage device having instructions stored thereon, wherein the instructions, when executed by at least one computer processor, cause the at least one computer processor to perform operations comprising:
load a first cryptographic key;
transmit the first cryptographic key to a back-end service;
confirm that the first cryptographic key is ready for use;
encrypt at least one first data payload, wherein the at least one first data payload, once encrypted, requires the first cryptographic key for any subsequent decryption of the at least one first data payload;
publish, via a data stream, the at least one first data payload as encrypted;
load a second cryptographic key, responsive to at least a first factor comprising an indication that a predetermined amount of time has elapsed;
transmit the second cryptographic key to the back-end service;
confirm that the second cryptographic key is ready for use;
encrypt at least one second data payload, wherein the at least one second data payload, once encrypted, requires the second cryptographic key for any subsequent decryption of the at least one second data payload, and wherein the first cryptographic key is ineffective to decrypt the at least one second data payload; and
publish, via the data stream, the at least one second data payload as encrypted.
