Reduced hierarchy key management system and method
First Claim
1. A controller comprising:
- digital circuitry configured to receive an encrypted media stream from a provider, wherein the encrypted media stream is encrypted with an encryption key and is configured to be decrypted with a decryption key corresponding to the encryption key, wherein the decryption key is configured to be determined from a selected content key;
wherein the digital circuitry is configured to receive with the encrypted media stream an identifier indicative of the selected content key from the provider without receiving with the encrypted media stream either the decryption key or the selected content key;
a first non-transitory memory including a plurality of indexes received from the provider prior to the encrypted media stream being received by the digital circuitry, wherein each index respectively corresponds to an identifier, with one of the indexes corresponding to the identifier indicative of the selected content key; and
a second non-transitory memory including a plurality of content keys received from the provider prior to the encrypted media stream being received by the digital circuitry, wherein the plurality of content keys correspond to the plurality of indexes, with one of the content keys corresponding to the index which corresponds to the identifier indicative of the selected content key;
wherein the digital circuitry is configured to select from the first non-transitory memory the index corresponding to the identifier indicative of the selected content key in response to receiving the encrypted media stream;
wherein the digital circuitry is configured to determine from the second non-transitory memory the selected content key using the selected index;
wherein the digital circuitry is configured to determine the decryption key from the selected content key and decrypt the encrypted media stream with the decryption key.
2 Assignments
0 Petitions
Accused Products
Abstract
A controller receives an encrypted media stream (“EMS”) and an identifier indicative of a selected content key from a headend. The EMS is encrypted with an encryption key and can be decrypted with a corresponding decryption key which is determinable from the selected content key. The controller receives indexes and content keys from the headend prior to receiving the EMS. Each index respectively corresponds to an identifier with one index corresponding to the identifier indicative of the selected content key. The content keys correspond to the indexes with one content key corresponding to the index corresponding to the identifier indicative of the selected content key. The controller selects the index corresponding to the identifier indicative of the selected content key upon receiving the EMS, determines the selected content key from the selected index, determines the decryption key from the selected content key, and decrypts the EMS with the decryption key.
65 Citations
31 Claims
-
1. A controller comprising:
-
digital circuitry configured to receive an encrypted media stream from a provider, wherein the encrypted media stream is encrypted with an encryption key and is configured to be decrypted with a decryption key corresponding to the encryption key, wherein the decryption key is configured to be determined from a selected content key; wherein the digital circuitry is configured to receive with the encrypted media stream an identifier indicative of the selected content key from the provider without receiving with the encrypted media stream either the decryption key or the selected content key; a first non-transitory memory including a plurality of indexes received from the provider prior to the encrypted media stream being received by the digital circuitry, wherein each index respectively corresponds to an identifier, with one of the indexes corresponding to the identifier indicative of the selected content key; and a second non-transitory memory including a plurality of content keys received from the provider prior to the encrypted media stream being received by the digital circuitry, wherein the plurality of content keys correspond to the plurality of indexes, with one of the content keys corresponding to the index which corresponds to the identifier indicative of the selected content key; wherein the digital circuitry is configured to select from the first non-transitory memory the index corresponding to the identifier indicative of the selected content key in response to receiving the encrypted media stream; wherein the digital circuitry is configured to determine from the second non-transitory memory the selected content key using the selected index; wherein the digital circuitry is configured to determine the decryption key from the selected content key and decrypt the encrypted media stream with the decryption key. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
receiving at a microprocessor an encrypted media stream from a provider remote from the microprocessor, wherein the encrypted media stream is encrypted with an encryption key and is configured to be decrypted with a decryption key corresponding to the encryption key, wherein the decryption key is configured to be determined from a selected content key; receiving at the microprocessor with the encrypted media stream an identifier indicative of the selected content key from the provider without receiving with the encrypted media stream either the decryption key or the selected content key; receiving at the microprocessor a plurality of indexes from the provider prior to receiving the encrypted media stream, wherein each index respectively corresponds to an identifier, with one of the indexes corresponding to the identifier indicative of the selected content key; receiving at the microprocessor a plurality of content keys from the provider prior to receiving the encrypted media stream, wherein the plurality of content keys corresponds to the plurality of indexes, with one of the content keys corresponding to the index which corresponds to the identifier indicative of the selected content key; selecting by the microprocessor the index corresponding to the identifier indicative of the selected content key in response to receiving the encrypted media stream; determining by the microprocessor the selected content key using the selected index; determining by the microprocessor the decryption key from the selected content key; and decrypting by the microprocessor the encrypted media stream with the decryption key. - View Dependent Claims (13, 14)
-
-
15. A system comprising:
-
one or more servers at a provider operation location; and a client device remotely located from the provider operation location; wherein a media stream is encrypted at the provider operation location with an encryption key to generate an encrypted media stream, wherein the encrypted media stream is configured to be decrypted with a decryption key corresponding to the encryption key, wherein the decryption key is configured to be determined from a selected content key; wherein the encrypted media stream is transmitted with an identifier indicative of the selected content key from the provider operation location to the client device without transmitting with the encrypted media stream either the decryption key or the selected content key; wherein prior to transmitting the encrypted media stream with the identifier to the client device, a plurality of indexes is transmitted from the provider operation location to the client device, wherein each index respectively corresponds to an identifier, with one of the indexes corresponding to the identifier indicative of the selected content key; wherein prior to transmitting the encrypted media stream with the identifier to the client device, a plurality of content keys is transmitted from the provider operation location to the client device, wherein the plurality of content keys corresponds to the indexes, with one of the content keys corresponding to the index which corresponds to the identifier indicative of the selected content key; wherein the client device is configured to select the index corresponding to the identifier indicative of the selected content key in response to receiving the encrypted media stream, determine the selected content key using the selected index, determine the decryption key from the selected content key, and decrypt the encrypted media stream with the decryption key. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A controller comprising:
-
a microprocessor, a memory storing executable instructions, which when executed by the microprocessor, cause the controller to provide; a decryption engine for receiving an encrypted media stream from a provider, wherein the encrypted media stream is encrypted with an encryption key and is configured to be decrypted with a decryption key corresponding to the encryption key, wherein the decryption key is configured to be determined from a selected content key, wherein the decryption engine receives with the encrypted media stream an identifier indicative of the selected content key from the provider without receiving with the encrypted media stream either the decryption key or the selected content key; a first memory including a plurality of indexes received from the provider prior to the encrypted media stream being received by the decryption engine, wherein each index respectively corresponds to an identifier, with one of the indexes corresponding to the identifier indicative of the selected content key; and a second memory including a plurality of content keys received from the provider prior to the encrypted media stream being received by the decryption engine, wherein the plurality of content keys correspond to the indexes, with one of the content keys corresponding to the index which corresponds to the identifier indicative of the selected content key; wherein the decryption engine selects from the first non-transitory memory the index corresponding to the identifier indicative of the selected content key in response to receiving the encrypted media stream; wherein the decryption engine determines from the second non-transitory memory the selected content key using the selected index; wherein the decryption engine determines the decryption key from the selected content key and decrypts the encrypted media stream with the decryption key. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
Specification