Key sharing for media frames using blockchain
AssigneeCisco Technology, Inc.
InventorSebastian Jeuk
Life of this patent
Estimating the term…
Abstract
This disclosure describes techniques for exchanging keys associated with encrypted media sessions using blockchains. In an example method, one or more encrypted frames are generated by encrypting one or more media frames based on an encryption key. Data indicating a ledger in a blockchain is transmitted to one or more computing devices. The ledger includes a decryption key configured to decrypt the one or more encrypted frames. Data packets are generated by packetizing the one or more encrypted frames. The data packets are transmitted to the one or more computing devices.
Claims20
A method, comprising:
- generating one or more first encrypted frames by encrypting one or more first media frames based on a first encryption key;
- transmitting, to one or more computing devices, first data indicating a first ledger in a blockchain, the first ledger comprising a first decryption key configured to decrypt the one or more first encrypted frames;
- generating first data packets by packetizing the one or more first encrypted frames;
- transmitting, to the one or more computing devices via a media server, the first data packets;
- generating one or more second encrypted frames by encrypting one or more second media frames based on a second encryption key;
- determining that greater than a threshold number of the first data packets have been transmitted or that greater than a threshold time has passed since the first data was transmitted;
- based on determining that greater than the threshold number of the first data packets have been transmitted or that greater than the threshold time has passed since the first data was transmitted, transmitting, to the one or more computing devices, second data indicating a second ledger in a blockchain, the second ledger comprising a second decryption key configured to decrypt the one or more second encrypted frames and comprising a hash of the first ledger;
- generating second data packets by packetizing the one or more second encrypted frames;
- and
- transmitting, to the one or more computing devices via the media server, the second data packets.
A system, comprising:
- at least one processor;
- and
- one or more non-transitory media storing instructions that, when executed by the system, cause the system to perform operations comprising:
- receiving, from one or more computing devices via a media server, first data packets;
- receiving, from the one or more computing devices, first data indicating a first ledger in a blockchain, the first ledger comprising a first decryption key;
- generating one or more first encrypted frames based on the first data packets;
- generating one or more first media frames by decrypting the one or more first encrypted frames using the first decryption key;
- generating first media data based on the one or more first media frames;
- receiving, from the one or more computing devices via the media server, second data packets;
- based on greater than a threshold number of the first data packets having been received or greater than a threshold time having passed since the first data packets were received, receiving, from the one or more computing devices, data indicating a second ledger in the blockchain, the second ledger comprising a second decryption key and comprising a hash of the first ledger;
- generating one or more second encrypted frames based on the second data packets;
- generating one or more second media frames by decrypting the one or more second encrypted frames using the second decryption key;
- and
- generating second media data based on the one or more second media frames.
A system, comprising:
- a sending device comprising:
- at least one first processor;
- and
- first memory storing first instructions that, when executed by the at least one first processor, cause the sending device to perform first operations comprising:
- generating one or more first encrypted frames by encrypting one or more first media frames based on a first encryption key;
- transmitting first data indicating a first ledger in a blockchain, the first ledger comprising a first decryption key;
- generating first data packets by packetizing the one or more first encrypted frames;
- transmitting, to a media server, the first data packets;
- generating one or more second encrypted frames by encrypting one or more second media frames based on a second encryption key;
- determining that greater than a threshold number of the first data packets have been transmitted or that greater than a threshold time has passed since the first data was transmitted;
- based on determining that greater than the threshold number of the first data packets have been transmitted or that greater than the threshold time has passed since the first data was transmitted, transmitting second data indicating a second ledger in a blockchain, the ledger comprising a second decryption key configured to decrypt the one or more second encrypted frames and comprising a hash of the first ledger;
- generating second data packets by packetizing the one or more second encrypted frames;
- and
- transmitting, to the media server, the second data packets;
- and
- a receiving device comprising:
- at least one second processor;
- and
- second memory storing second instructions that, when executed by the at least one second processor, cause the receiving device to perform second operations comprising:
- receiving, from the sending device, the first data indicating the first ledger;
- receiving, from the media server, the first data packets;
- restoring the one or more first encrypted frames based on the first data packets;
- restoring the one or more first media frames by decrypting the one or more first encrypted frames using the first decryption key;
- restoring first media data based on the one or more first media frames;
- receiving, from the sending device, the second data indicating the second ledger;
- receiving, from the media server, the second data packets;
- restoring the one or more second encrypted frames based on the second data packets;
- restoring the one or more second media frames by decrypting the one or more second encrypted frames using the second decryption key;
- and
- restoring second media data based on the one or more second media frames.
Dependencies are inferred from the claim text.