Binding of protected video content to video player with block cipher hash
First Claim
1. One or more computer-readable memory devices comprising stored instructions executable by one or more processors of a server of a video content provider to:
- receive a media content identifier and a media player identifier in a request from a media player residing on a client device, the media content identifier identifying media content, the media player identifier uniquely identifying the media player, the request being received before the media content is sent to the media player;
provide the media player identifier and a binary of the media player to a function generator to generate a hash of the media player identifier and the binary of the media player;
perform a first operation on an initialization vector and the generated hash to generate a first result;
perform a second operation on a first subset of plaintext and the first result to generate a second result, the plaintext being the media content;
encrypt the second result with an encryption key to generate a first set of ciphertext that is bound to the unique media player identifier of the media player residing on the client device; and
deliver the first set of the ciphertext and the initialization vector, without the generated hash, to the media player, effective to enable the media player to generate the hash of the media player identifier and the binary of the media player to decrypt the first set of the ciphertext.
2 Assignments
0 Petitions
Accused Products
Abstract
A video player sends a video content identifier and a video player identifier through a network to a server. The video content identifier identifies video content. The video player identifier identifies the video player. Further, a first subset of encrypted video content and an initialization vector are received from a server. In addition, a hash of the video player identifier is generated. The first subset of the encrypted video content is decrypted with a decryption key to generate a first result. Further, a first operation on the initialization vector and the hash is performed to generate a second result. In addition, a second operation is performed on the first result and the second result to generate a first subset of plaintext of video content.
-
Citations
20 Claims
-
1. One or more computer-readable memory devices comprising stored instructions executable by one or more processors of a server of a video content provider to:
-
receive a media content identifier and a media player identifier in a request from a media player residing on a client device, the media content identifier identifying media content, the media player identifier uniquely identifying the media player, the request being received before the media content is sent to the media player; provide the media player identifier and a binary of the media player to a function generator to generate a hash of the media player identifier and the binary of the media player; perform a first operation on an initialization vector and the generated hash to generate a first result; perform a second operation on a first subset of plaintext and the first result to generate a second result, the plaintext being the media content; encrypt the second result with an encryption key to generate a first set of ciphertext that is bound to the unique media player identifier of the media player residing on the client device; and deliver the first set of the ciphertext and the initialization vector, without the generated hash, to the media player, effective to enable the media player to generate the hash of the media player identifier and the binary of the media player to decrypt the first set of the ciphertext. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
sending, from a video player, a request comprising a video content identifier and a video player identifier through a network to a server, the video content identifier identifying video content, the video player identifier uniquely identifying the video player, the request being sent from the video player before receiving the video content, and being effective to cause the server to generate a hash of the video player identifier and a binary of the video player that is usable to encrypt a first subset of video content using an encryption key and a result of performing a first operation on the generated hash and an initialization vector; receiving, from the server, the first subset of encrypted video content that is bound to the unique video player identifier, and the initialization vector, without receiving the generated hash; generating the hash of the video player identifier and the binary of the video player; decrypting the first subset of the encrypted video content with a decryption key to generate a first result; performing the first operation on the initialization vector and the generated hash to generate a second result; and performing a second operation on the first result and the second result to generate a first subset of plaintext of video content from the first subset of encrypted video content that is bound to the unique video player identifier of the video player. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A system comprising:
-
a server configured as a video content provider; a communication module of the server configured to receive a request from a video player residing on a client device, the request comprising a video content identifier and a video player identifier, the video content identifier identifying video content, and the video player identifier uniquely identifying the video player; a hash generator configured to generate a hash of the video player identifier and a binary of the video player that is utilized as an initialization vector; a processor configured to perform a first operation on a first subset of plaintext and the initialization vector to generate a first result, and further configured to encrypt the first result with an encryption key to generate a first set of ciphertext that is bound to the video player identifier of the video player residing on the client device, the plaintext being the video content; and the communication module is configured to communicate the first set of ciphertext, without the initialization vector, to the video player. - View Dependent Claims (17, 18, 19, 20)
-
Specification