System and method for using a streaming protocol
First Claim
1. A method of distributing content using a distribution point, the method comprising:
- providing a stream of content to the distribution point;
receiving a sequence of initialization vectors for the stream of content, the initialization vectors representing settings associated with corresponding portions of content, the settings enabling a decryption engine to decrypt the corresponding content portions using a key;
receiving, from an application server, an indication that a request from a client device to access the stream of content is supported;
receiving, from the client device and across a communications network, the request to access the stream of content;
enabling, based on receiving the indication, the client device to access the stream of content in a connection between the client device and the distribution point;
accessing, from within the request, a time mark with a temporal description of a portion of the stream of content should be requested by the user;
relating the time mark to the sequence of initialization vectors; and
generating an instruction to transmit at least one of the initialization vectors to the client device in a first metadata message.
5 Assignments
0 Petitions
Accused Products
Abstract
An initialization vector (IV) is employed to decrypt a block of a stream that has been encrypted with Cypher Block Chaining (CBC) encryption, without requiring decryption of previous blocks within the stream. For example, a listener who accesses a distribution point to retrieve encrypted content authenticates himself to an application server that regulates access to encrypted content on the distribution point, and responsively receives a key. The listener then requests access to a reference point within the encrypted content stream somewhere after its beginning (e.g., using preview clips). The distribution point relates the reference point to a corresponding block of the encrypted stream, and identifies an IV previously used for encryption of that block. The distribution point provides the associated encrypted block of content and the IV to the listener to enable mid-stream rendering of the encrypted content, without requiring the listener to decrypt previous blocks within the encrypted stream.
-
Citations
20 Claims
-
1. A method of distributing content using a distribution point, the method comprising:
-
providing a stream of content to the distribution point; receiving a sequence of initialization vectors for the stream of content, the initialization vectors representing settings associated with corresponding portions of content, the settings enabling a decryption engine to decrypt the corresponding content portions using a key; receiving, from an application server, an indication that a request from a client device to access the stream of content is supported; receiving, from the client device and across a communications network, the request to access the stream of content; enabling, based on receiving the indication, the client device to access the stream of content in a connection between the client device and the distribution point; accessing, from within the request, a time mark with a temporal description of a portion of the stream of content should be requested by the user; relating the time mark to the sequence of initialization vectors; and generating an instruction to transmit at least one of the initialization vectors to the client device in a first metadata message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An apparatus, comprising:
-
a storage device; and at least one processor coupled to the storage device, wherein the storage device stores a program for controlling the at least one processor, and wherein the at least one processor, being operative with the program, is configured to; provide a stream of content to a distribution point; receive a sequence of initialization vectors for the stream of content, the initialization vectors representing settings associated with corresponding portions of content, the settings enabling a decryption engine to decrypt the corresponding portions of content using a key; receive, from an application server, an indication that a request from a client device to access the stream of content is supported; receive, from the client device and across a communications network, the request to access the stream of content; enable, based on receiving the indication, the client device to access the stream of content in a connection between the client device and the distribution point; access, from within the request, a time mark with a temporal description of a portion of the stream of content requested by the user; relate the time mark to the sequence of initialization vectors; and generate an instruction to transmit at least one of the initialization vectors to the client device in a first metadata message.
-
-
20. A tangible, non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform a method, comprising:
-
providing a stream of content to a distribution point; receiving a sequence of initialization vectors for the stream of content, the initialization vectors representing settings associated with corresponding portions of content, the settings enabling a decryption engine to decrypt the corresponding portions of content using a key; receiving, from an application server, an indication that a request from a client device to access the stream of content is supported; receiving, from the client device and across a communications network, the request to access the stream of content; enabling, based on receiving the indication, the client device to access the stream of content in a connection between the client device and the distribution point; accessing, from within the request, a time mark with a temporal description of a portion of the stream of content requested by the user; relating the time mark to the sequence of initialization vectors; and generating an instruction to transmit at least one of the initialization vectors to the client device in a first metadata message.
-
Specification