Signaling system switching and key derivation
Abstract
A method and apparatus for controlling a group of the client devices to switch at least one client device of the group of client devices from a first conditional access system to a second conditional access system is disclosed. In one embodiment, the method comprises generating a group identifier identifying the group of the client devices, transmitting a first client device signaling message having the group identifier only to each client device of the identified group of the client devices, and transmitting a second client device signaling message to the plurality of client devices, the second client device signaling message comprising the group identifier and signaling each client device having the group identifier stored in the non-volatile memory to switch from the first system client to the second system client.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . In a system of a plurality of client devices for receiving data from a provider, each of the client devices having a securely executing system client and a middleware module communicating with the system client, a method of controlling a group of the client devices to switch at least one client device of the group of the client devices from a first system client to a second system client via a plurality of client device signaling messages, the method comprising:
generating a group identifier identifying the group of the client devices; transmitting a first client device signaling message having the group identifier only to each client device of the identified group of the client devices, the first client device signaling message signaling an action to assign the client device receiving the message to the identified group of the client devices, the group identifier for storage in each client device of the identified group of the client devices in non-volatile memory; and transmitting a second client device signaling message to the plurality of client devices, the second client device signaling message comprising the group identifier and signaling each client device having the group identifier stored in the non-volatile memory to switch from the first system client to the second system client; wherein the first client device signaling message and the second device signaling message are transmitted on a switching message channel monitored by the middleware module of each of the plurality of client devices, the switching message channel identified by an identifier transmitted to each of the plurality of client devices as application specific data.
2 . The method of claim 1 , wherein:
the first client device signaling message comprises:
a first action code of a plurality of action codes and payload data;
the first action code signaling the action to assign the client device receiving the message to the identified group of the client devices; and
the payload data including the group identifier of the identified group of the client devices;
the second client device signaling message comprises:
a second action code of the plurality of action codes and second payload data;
the second action code signaling each client device having the group identifier stored in the non-volatile memory to switch from the first system client to the second system client; and
the second payload data identifies the second system client.
3 . The method of claim 2 , wherein the second client device signaling message comprises a time at which the switch to the second system client is to be made by the client device.
4 . The method of claim 2 , wherein the first client device signaling message and the second client device signaling message are transmitted as private data of a digital video broadcasting (DVB) standard.
5 . The method of claim 4 , wherein:
the method further comprises transmitting the identifier of the switching message channel to the plurality of client devices in a access table.
6 . The method of claim 5 , wherein the plurality of action codes further comprises:
a first action code addressing all of the client devices; and a second action code addressing only single client devices.
7 . The method of claim 6 , further comprising:
monitoring, by the middleware module of at least one of the identified group of the client devices, the channel identified by the identifier of the switching message channel; receiving, in the middleware module of the at least one of the identified group of the client devices, the first client device signaling message; and storing the group identifier in non volatile storage of the at least one of the identified group of the client devices.
8 . The method of claim 7 , further comprising:
receiving, in the middleware module of the at least one of the identified group of the client devices, the second client device signaling message; determining if the second client device signaling message comprises the group identifier; and if the second client device signaling message comprises the group identifier, switching the at least one client device to the second system client.
9 . The method of claim 8 , wherein the first client device signaling message and the second client device signaling message each further comprise:
a sequence number action code and associated sequence number; and a timestamp action code and associated timestamp; wherein the group identifier is stored in non-volatile memory only if the sequence number of the sequence number action code is compares favorably with a sequence number of a sequence number action code of a third client device signaling message is numerically previous to the first client device signaling message; and the at least one of the identified group of the client devices is switched to the second system client only if the timestamp of the associated timestamp action code is temporally ahead of a current system time.
10 . The method of claim 9 , further comprising:
initializing the second system client; providing security data to the second system client to derive keys for decrypting the data; determining a management message channel identifier from the access table; receiving a management message on the management message channel identified by the management message channel identifier; receiving a map table associated with the data; determining a control message channel identifier corresponding to the second system client from the map table; receiving control messages on a control message channel identified by the control message channel identifier; and decrypting the data using the second system client according to the derived keys and the control message.
11 . In a system of a plurality of client devices for receiving data from a provider, each of the client devices having a securely executing system client and a middleware module communicating with the system client, an apparatus for controlling a group of the plurality of client devices to switch at least one client device of the group of the client devices from a first system client to a second system client via a plurality of client device signaling messages, comprising:
a private data generator, comprising:
a processor;
a memory, the memory storing processor instructions comprising instructions for:
generating a group identifier identifying the group of the client devices;
a transmitter, communicatively coupled to the private data generator, the transmitter for:
transmitting a first client device signaling message having the group identifier only to each client device of the identified group of the client devices, the first client device signaling message signaling an action to assign the client device receiving the message to the identified group of the client devices, the group identifier for storage in each client device of the group of the client devices in non-volatile memory; and
transmitting a second client device signaling message to the plurality of client devices, the second client device signaling message comprising the group identifier and signaling each client device having the group identifier stored in the non-volatile memory to switch from the first system client to the second system client;
wherein the first client device signaling message and the second device signaling message are transmitted on a switching message channel monitored by the middleware module of each of the plurality of client devices, the switching message channel identified by an identifier transmitted to each of the plurality of client devices as application specific data.
12 . The apparatus of claim 11 , wherein:
the first client device signaling message comprises:
a first action code of a plurality of action codes and payload data;
the first action code signaling the action to assign the client device receiving the message to the group of the client devices; and
the payload data including the group identifier of the group of the client devices;
the second client device signaling message comprises:
a second action code of the plurality of action codes and second payload data;
the second action code signaling each client device having the group identifier stored in the non-volatile memory to switch from the first system client to the second system client; and
the second payload data identifies the second system client.
13 . The apparatus of claim 12 , wherein the second client device signaling message comprises a time at which the switch to the second system client is to be made by the client device.
14 . The apparatus of claim 12 , wherein the first client device signaling message and the second client device signaling message are transmitted as private data of a digital video broadcasting (DVB) standard.
15 . The apparatus of claim 14 , wherein:
each of the plurality of client devices comprises:
a client device processor;
a client device memory, storing client device processor instructions implementing the middleware module, the instructions including instructions for:
monitoring a conditional access switching message channel for the first client device message and the second client device messages; and
the transmitter further transmits the identifier of the conditional access switching message channel to the plurality of client devices in an access table.
16 . The apparatus of claim 15 , wherein the plurality of action codes further comprises:
a first action code addressing all of the client devices; and a second action code addressing only single client devices.
17 . The apparatus of claim 16 , wherein:
the client device processor instructions implementing the middleware module further comprise instructions for:
monitoring the channel identified by the identifier of the switching message channel;
receiving the first client device signaling message; and
the client device processor instructions further comprise instructions for storing the group identifier in non volatile storage of the at least one of the group of the client devices.
18 . The apparatus of claim 17 , wherein:
the client device processor instructions implementing the middleware module further comprise instructions for:
receiving, the second client device signaling message;
determining if the second client device signaling message comprises the group identifier; and
the client device processor instructions further comprise instructions for switching the at least one client device to the second system client if the second client device signaling message comprises the group identifier.
19 . The apparatus of claim 18 , wherein the first client device signaling message and the second client device signaling message each further comprise:
a sequence number action code and associated sequence number; and a timestamp action code and associated timestamp; wherein the group identifier is stored in non-volatile memory only if the sequence number of the sequence number action code is compares favorably with a sequence number of a sequence number action code of a third client device signaling message is numerically previous to the first client device signaling message; and the at least one of the group of the client devices is switched to the second system client only if the timestamp of the associated timestamp action code is temporally ahead of a current system time.
20 . The apparatus of claim 19 , wherein:
the client device processor instructions implementing the middleware module further comprise instructions for:
initializing the second system client;
providing security data to the second system client to derive keys for decrypting the data;
receiving a management message channel identifier determined by a system client from the received access table;
receiving a management message on the management message channel identified by the management message channel identifier;
receiving a map table associated with the data;
determining a control message channel identifier corresponding to the second system client from the program map table; and
receiving control messages on a control message channel identified by the control message channel identifier;
the client device further comprises a security processor communicatively coupled to a security processor memory, the security processor memory comprising security processor instructions for:
decrypting the data using the second system client according to the derived keys and the control message.
21 . In a system of a plurality of client devices for receiving data from a provider, each of the client devices having a securely executing system client and a middleware module communicating with the system client, an apparatus for controlling a group of the plurality of client devices to switch from a first system client to a second system client via a plurality of client device signaling messages, comprising:
a private data generator, comprising:
a processor;
a memory, the memory storing processor instructions comprising instructions for:
generating a group identifier identifying the group of the client devices;
a transmitter, communicatively coupled to the private data generator, the transmitter for:
transmitting a first client device signaling message having the group identifier only to each client device of the identified group of the client devices, the first client device signaling messages signaling an action to assign the client device receiving the message to the identified group of the client devices, the group identifier for storage in each client device of the group of the client devices in non-volatile memory; and
transmitting a second client device signaling message to plurality of client devices, the second client device signaling message comprising the group identifier and signaling each of the group of client device having the group identifier stored in the non-volatile memory to switch from the first system client to the second system client;
wherein:
the first client device signaling message and the second device signaling message are transmitted on a conditional access switching message channel monitored by the middleware module of each of the plurality of client devices, the conditional access switching message channel identified by an identifier transmitted to each of the plurality of client devices as application specific data.
each of the plurality of client devices comprises:
a client device processor;
a client device memory, storing client device processor instructions implementing the middleware module, the instructions including instructions for monitoring the conditional access switching message channel for the first client device signaling message and the second client device switching message; and
the transmitter further transmits the identifier of the conditional access switching message channel to the plurality of client devices as application specific data.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.