System and method for defining programmable processing steps applied when protecting the data
First Claim
1. A client device for using encrypted data comprising:
- an input data interface module for receiving protected data;
a memory for storing a plurality of decryption functions and sequencer data that defines a sequence of selected ones of the plurality of decryption functions and defines at least one additional operation; and
a processor coupled to the input data interface module and the memory and arranged to sequentially apply the selected ones of the plurality of the decryption functions to the protected data in the sequence defined by the sequencer data, and to report to a server a quantum data selected from the group consisting of a number of movies watched on the client device, a time interval between certain channel changes on the client device, and when the client device was first powered on.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for protecting data being sent between a client and a server include the capability of defining programmable processing steps that are applied by the server when protecting the data and the same steps are applied by the client when unprotecting the data. The programmable processing steps can be defined uniquely for each client, and the programmable processing steps are selected from a number of functions using sequencing data that defines the processing steps. The programmable processing steps allow for each client to process encrypted data in a different manner and the programmable processing steps are defined by what is called a digital rights management (DRM) Sequencing Key, and as such the system and method introduces a key-able DRM whereby each DRM message can be processed in a unique (or pseudo unique) manner.
56 Citations
14 Claims
-
1. A client device for using encrypted data comprising:
-
an input data interface module for receiving protected data; a memory for storing a plurality of decryption functions and sequencer data that defines a sequence of selected ones of the plurality of decryption functions and defines at least one additional operation; and a processor coupled to the input data interface module and the memory and arranged to sequentially apply the selected ones of the plurality of the decryption functions to the protected data in the sequence defined by the sequencer data, and to report to a server a quantum data selected from the group consisting of a number of movies watched on the client device, a time interval between certain channel changes on the client device, and when the client device was first powered on. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of protecting data to be transmitted to a plurality of client devices, the method comprising:
-
receiving input data to be protected; for each client device of the plurality of client devices, mapping sequencer data that describes an order in which selected ones of a plurality of protection functions will be applied to the input data, the mapping based on a mapping used by the respective client device for selecting the protection functions from the sequencer data, wherein each client device of the plurality of client devices has a unique mapping for selecting protection functions from sequencer data; generating protected output data for each client device of the plurality of client devices by executing a software program to sequentially apply the selected protection functions to the input data according to the order described by the corresponding mapped sequencer data; and transmitting the respective protected output data to each client device of the plurality of client devices; and transmitting the sequencer data to the plurality of client devices, the sequencer data for use in decrypting the protected output data by each of the plurality of client devices.
-
-
14. A method of protecting data to be transmitted to a plurality of client devices, the method comprising:
-
receiving input data to be protected; generating protected output data by executing a software program to sequentially apply selected ones of a plurality of protection functions to the input data according to an order described by sequencer data; transmitting the protected output data to the plurality of client devices; mapping the sequencer data for each client device of the plurality of client devices based on a mapping used by the respective client device for selecting the protection functions from the sequencer data, wherein each client device of the plurality of client devices has a unique mapping for selecting protection functions from sequencer data; and transmitting the corresponding mapped sequencer data to each client device of the plurality of client devices.
-
Specification