Claims
- 1. A method of controlling access to an encrypted instance of service, which was encrypted by a first key, the method implemented in a receiver in a subscriber television system, the method comprising the steps of:
(a) encrypting the first key using a public key of a private key-public key pair belonging to the receiver, thereby converting the first key into an encrypted first key; (b) associating a key validator with the encrypted first key, wherein the key validator includes a time indicator that indicates whether the encrypted first key is valid; (c) determining whether the encrypted first key is valid; (d) responsive to the encrypted first key being valid, decrypting the encrypted first key thereby recovering the first key; and (e) responsive to the encrypted first key being valid, decrypting the encrypted service instance using the recovered first key.
- 2. The method of claim 1, prior to step (a), further including the steps of:
(f) receiving the instance of service at the receiver; (g) encrypting the instance of service using the first key; and (h) storing the encrypted instance of service; and after step (a), further including the step of, (i) storing the encrypted first key.
- 3. The method of claim 2, wherein the instance of service received at the receiver includes ciphertext, and prior to the step (g), further including the step of:
(j) decrypting the ciphertext of the instance of service using a third key.
- 4. The method of claim 3, prior to step (j), further including the steps of:
(k) receiving a message and the service instance concurrently, wherein the message includes a third key token; and (l) generating the third key using the third key token.
- 5. The method of claim 1, wherein the time indicator includes a starting time and an ending time for which the first key is valid.
- 6. The method of claim 1, wherein the time indicator includes a time specifier and a range specifier, wherein the first key is valid for times between the time specifier and the time specifier plus the range specifier.
- 7. The method of claim 1, wherein the time indicator includes a time specifier and a range specifier, wherein the first key is valid for times between the time specifier minus the range specifier and the time specifier.
- 8. The method of claim 1, further including the steps of:
prior to step (c), (f) associating the encrypted first key with a key authenticator; and after step (d), (g) authenticating the recovered first key using at least a portion of the recovered first key, wherein the recovered first key is used for decrypting the encrypted instance of service only when the recovered first key is authentic.
- 9. The method of claim 8, wherein the step (g) further includes the steps of:
(h) making a HASH digest using at least a portion of the recovered first key as an input for a HASH function; and (i) comparing the HASH digest with the key authenticator and authenticating the key authenticator when it is the same as the HASH digest.
- 10. The method of claim 9, wherein the input for the HASH function includes at least a portion of the key validator.
- 11. The method of claim 9, wherein the key authenticator is a digitally signed HASH digest that is signed by the private key of the public key-private key pair associated with the receiver, and the step (g) further includes:
(h) authenticating the signature of the receiver using the public key of the public key-private key pair.
- 12. The method of claim 1, further including the step of:
generating at the receiver the first key.
- 13. The method of claim 1, wherein the private key is stored within a memory of a secure processor, wherein the memory is accessible only to the secure processor, and prior to step (c), further including the steps of:
(f) responsive to the first key being valid, providing the encrypted first key to the secure processor; and (g) decrypting the encrypted first key using the private key of the public key-private key pair.
- 14. The method of claim 13, prior to step (c), further including the steps of:
(h) associating the first key with a key authenticator, the key authenticator indicating the authenticity of the validator associated with the first key; and (i) authenticating the first key using at least a portion of the first key, wherein the first key is used for decrypting the encrypted instance of service only when the validator associated with the first key is authentic.
- 15. The method of claim 14, wherein the step (i) further includes the steps of:
(j) making a HASH digest using at least a portion of the first key as an input for HASH function; and (k) comparing the HASH digest with the key authenticator and authenticating the key authenticator when it is the same as the HASH digest.
- 16. The method of claim 15, wherein the input for the HASH function includes at least a portion of the key validator.
- 17. The method of claim 15, wherein the key authenticator is a digitally signed HASH digest that was signed by the private key of the public key-private key pair associated with the receiver, and the step (i) further includes:
(l) authenticating the signature of the receiver using the public key of the public key-private key pair.
- 18. The method of claim 1, wherein the key validator is encrypted using the public key of the private key-public key pair belonging to the receiver.
- 19. The method of claim 1, prior to the step (a), further including the steps of:
(f) duplicating the first key; and (g) encrypting the duplicate first key with a third key.
- 20. The method of claim 19, wherein the third key is a public key of a public key-private key pair, the private key securely stored at a headend of a subscriber television system.
- 21. The method of claim 20, and after step (b) further including the steps of:
(h) transmitting from a receiver the encrypted duplicate first key to the headend; and (i) receiving at the receiver a second key validator that indicates the validity of the receiver to use the first key to decrypt the encrypted service.
- 22. The method of claim 1, and after step (b) further including the steps of:
(f) transmitting from a receiver the encrypted first key to a headend of a subscriber television system; (g) receiving at the receiver from the headend the encrypted first key; and (f) decrypting the encrypted first key using a private key of a public key-private key pair associated with the receiver.
- 23. A receiver in a digital subscriber network, the receiver receiving content provided by an entitlement agent through a first communication link, the receiver comprising:
a first key validator including a validation token having a time specifier for which the first key is validated; an encryptor adapted to encrypt the first key using a public key of a public key-private key pair associated with the receiver; and a decryptor adapted to decrypt the first key using the private key of the public key-private key pair.
- 24. The receiver of claim 23, wherein the decryptor is included in a secure processor having a memory that includes the private key of the receiver, and the memory is accessible only to the secure processor.
- 25. The receiver of claim 23, further including:
a storage device having encrypted content stored therein, wherein the encrypted content was encrypted using the first key; and a second decryptor adapted to decrypt the encrypted content using the decrypted first key.
- 26. The receiver of claim 23, further including:
an output port adapted to communication with an external storage device; and a second decryptor adapted to decrypt the encrypted content using the decrypted first key.
- 27. The receiver of claim 23, further including:
an authenticator adapted to authenticate the first key, wherein the authenticator generates an authentication token associated with the first key.
- 28. The receiver of claim 23, wherein the authenticator further includes:
a digest maker adapted to making a HASH digest using at least a portion of the first key as an input to a HASH function; and a comparator adapted to compare the HASH digest with the authentication token.
- 29. The receiver of claim 28, wherein the authenticator further includes:
a digital signer adapted to apply the private key of the public key-private key pair to the authentication token.
- 30. The receiver of claim 27, wherein the authenticator is included in a secure processor having a memory that includes a private key of the public key-private key pair and the memory is successful only to the secure processor.
- 31. The receiver of claim 23, wherein the first key validator further includes:
a clock adapted to measure time from a predetermined time; and a comparator adapted to compare the measured time with the validation token, wherein the comparator uses the time specifier and the measured time to determine if the first key is valid.
- 32. The receiver of claim 23, further including:
a memory having a first key encrypted by the public key of the public key-private key pair and a duplicate first key encrypted by a second public key-private key pair, wherein the second public key is associated with the entitlement agent.
- 33. The receiver of claim 32, further including:
a transceiver adapted to transmit a request for a validation token, wherein the validation token includes a time specifier indicating when the first key is valid.
- 34. In a receiver coupled to a subscriber television network, a method of controlling access to an encrypted instance of service provided to the receiver by a headend of the subscriber television network, the method comprising the steps of:
receiving at the receiver a service instance; encrypting the service instance with a first key; generating a key validator having a time indicator included therein; encrypting the first key with a second key, thereby converting the first key into an encrypted first key; associating the encrypted first key with the key validator; storing the encrypted service instance, the encrypted first key and the key validator in a storage device; responsive to receiving a request for the stored encrypted service, retrieving the encrypted first key and the key validator from the storage device; responsive to retrieving the encrypted key validator, determining whether the encrypted first key is valid using the key validator; responsive to the encrypted first key being valid, decrypting the encrypted first key with a third key, thereby recovering the first key; and responsive to recovering first key, decrypting the encrypted service instance.
- 35. The method of claim 34, further including the steps of:
generating a key authenticator using at least a portion of the key validator; associating the key authenticator with the encrypted first key and with the key validator; and storing the key authenticator in the storage device; wherein the step of determining whether the encrypted first key is valid, further includes the steps of: retrieving the key authenticator from the storage device; and determining whether the key validator is authentic using the key authenticator, wherein the encrypted first key is valid only if the key validator is authentic.
- 36. The method of claim 35, wherein the key authenticator includes a signed first HASH digest, the first HASH digest being the output of a HASH function having at least a portion of the key validator as an input, wherein the first HASH digest was signed by the third key, and the step of determining whether the key validator is authentic includes the steps of:
generating a second HASH digest using at least a portion of the key validator as an input to a HASH function; decoding the signed first HASH digest with the second key; and comparing the decoded first HASH digest with the second HASH digest, wherein the key validator is authentic only if the decoded first HASH digest is the same as the second HASH digest.
- 37. The method of claim 34, wherein the second key is a public key of private key-public key pair belonging to the receiver and the third key is the private key belonging to the receiver.
- 38. The method of claim 34, further including the steps of:
duplicating the first key; encrypting the first key with a fourth key, thereby converting the duplicate first key into a second encrypted first key; responsive to the first key being invalid, transmitting a first message including the second encrypted first key to the headend; responsive to transmitting the message, receiving a second message from the headend; and responsive to the second message, decrypting the encrypted service instance.
- 39. The method of claim 38, wherein the second message includes a second key validator, and further including the steps of:
determining whether the second key validator is authentic using the key authenticator; and responsive to the second key validator being authentic, decrypting the first encrypted first key, thereby recovering the first key.
- 40. The method of claim 38, wherein the second message includes a third encrypted first key, and further including the step of:
decrypting the third encrypted first key with the third key, thereby recovering the first key.
- 41. The method of claim 34, wherein the service instance received at the receiver includes ciphertext, and prior to encrypting the service instance, further including the step of:
receiving a decryption key token at the receiver, wherein the decryption key token is received concurrently with the service instance; generating a fourth key using the decryption key token; and decrypting the ciphertext of the service instance using the fourth key.
- 42. The method of claim 34, wherein the time indicator includes a starting time and an ending time for which the first key is valid.
- 43. The method of claim 34, wherein the time indicator includes a time specifier and a range specifier, wherein the first key is valid for times between the time specifier and the time specifier plus the range specifier.
- 44. The method of claim 34, wherein the time indicator includes a time specifier and a range specifier, wherein the first key is valid for times between the time specifier minus the range specifier and the time specifier.
- 45. In a subscriber television system having a head-end and a receiver that receives a service instance from the head-end, the receiver, the receiver comprising:
a first processor adapted to encrypt a service instance with a first key and adapted to encrypt the first key with a public key of a public key-private key pair belonging to the receiver, thereby converting the first key into an encrypted first key, the first processor further adapted to generate a key validator having a time indicator included therein; storage means in communication with the first processor, the storage means adapted to store the encrypted first key, the encrypted service instance and a key authenticator; a secure element in communication with the first processor, the secure element having a second processor and a memory, the memory having the private key belonging to the receiver stored therein, the second processor adapted to generate a key authenticator using at least a portion of the key validator and the public key belonging to the receiver, wherein the memory of the secure element is not accessible to the first processor; and an input port in communication with the first processor adapted to receiver commands from a subscriber input device, wherein responsive to a command from the subscriber input device received at the input port, the first processor determines whether the encrypted first key is valid using the key validator, the second processor decrypts the encrypted first key using the private key, thereby recovering the first key, and determines whether the key validator is authentic using the private key and the key validator, and responsive to both the first key being valid and the key validator being authentic, the first processor decrypts the service instance using the recovered first key.
- 46. The receiver of claim 45, wherein the time indicator includes a starting time and an ending time for which the first key is valid.
- 47. The receiver of claim 45, wherein the time indicator includes a time specifier and a range specifier, wherein the first key is valid for times between the time specifier and the time specifier plus the range specifier.
- 48. The receiver of claim 45, wherein the time indicator includes a time specifier and a range specifier, wherein the first key is valid for times between the time specifier minus the range specifier and the time specifier.
- 49. The receiver of claim 45, wherein the second processor is further adapted to generate a HASH digest of at least a portion of the key validator and at least a portion the first key, wherein the key authenticator includes the HASH digest signed by the private key.
- 50. The receiver of claim 49, wherein the second processor is further adapted to generate a second HASH digest of at least a portion of the key validator and at least a portion the recovered first key, decode the signed HASH digest of the key authenticator using the public key, and compare the second HASH digest with the decoded HASH digest, wherein responsive to the second HASH digest being the same as the decoded HASH digest, the second processor provides the recovered first key to the first processor.
- 51. The receiver of claim 50, wherein responsive to the second HASH digest not being the same as the decoded HASH digest, the second processor does not provide the recovered first key to the first processor.
- 52. The receiver of claim 45, further including:
a transceiver in communication with the first processor and the headend of the subscriber television system, wherein the first processor is adapted to duplicate the first key and encrypt the duplicate first key with a second public key, thereby converting the duplicate first key into a second encrypted first key, responsive to the encrypted first key being invalid, the first processor generates a message for the headend including the second encrypted first key and the transceiver transmits the message to the headend.
- 53. The receiver of claim 52, wherein the transceiver receives a second message, responsive to the second message, the first processor decrypts the encrypted service instance.
- 54. The receiver of claim 53, wherein the second message includes a second key validator, responsive to the second key validator, the first processor validates the first encrypted first key using the second key validator.
- 55. The receiver of claim 45, wherein the storage means includes a harddrive.
- 56. The receiver of claim 45, wherein the storage means includes a storage device external to the receiver.
- 57. In a subscriber network system having a head-end and a receiver that receives a service instance from the head-end, the receiver, which is located remotely from the head-end, stores the service instance at the remote location and restricts access to the stored service instance, the receiver comprising:
a port adapted to receive the service instance; a storage device at the remote location, the storage device having an encrypted first key, a key validator, and key authenticator stored therein, and wherein the first key is used for decrypting the service instance when the first key is valid; a memory having a private key-public key pair for the receiver stored therein; and a processor in communication with the memory, the processor adapted to use the public key of the receiver to encrypt the first key and generate the key validator and the key authenticator, wherein the key validator includes a time indicator used for determining whether the first key is valid or has expired, the key authenticator includes a hash digest signed by the private key of the receiver, and the hash digest is the output of a hash function having as inputs at least a portion of the key validator and at least a portion of the first key.
- 58. The receiver of claim 57, further including:
a decryptor in communication with the processor and the storage device, the decryptor adapted to use the first key to decrypt the encrypted stored service instance; and wherein the processor is adapted to use the encrypted first key, the key validator and the key authenticator to determine whether the decryptor should be provided with the first key.
- 59. The receiver of claim 58, wherein the processor is further adapted to decrypt the encrypted first key using the private key of the receiver and generate a second hash digest using at least a portion of the first key and at least a portion of the key validator as inputs to the hash function, use the public key of the receiver to process the authentication token, compare the second hash digest with the processed authentication token, and responsive to the second hash digest and the processed authentication token not being the same, the processor determines therefrom that the decryptor is not to be provided with the first key.
- 60. The receiver of claim 59, wherein the processor is further adapted to use the time specifier of the key validator to determine whether the first key has expired and when the first key is expired determine therefrom that the decryptor is not to be provided with the first key.
- 61. The receiver of claim 57, wherein the service instance is provided to the subscriber network by an entitlement agent having a public key-private key pair associated therewith, the memory having the public key associated with the entitlement agent stored therein, and the processor is further adapted to copy the first key and encrypt the copy of the first key with public key associated with the entitlement agent and provide the encrypted copy of the first key to the storage device, which stores the encrypted copy of first key therein.
- 62. The receiver of claim 61, further including:
a transceiver in communication with the processor adapted to transmit messages to the head-end, wherein the processor is further adapted to generate a message having the encrypted copy of the first key included therein, and the transceiver transmits the message to the head-end
- 63. The receiver of claim 62, wherein the transceiver receives message from the head-end, the received message includes an encrypted second copy of the first key, and the processor decrypts the encrypted second copy of the first key using the private key of the receiver.
- 64. The receiver of claim 63, wherein the received message includes a second key validator, the processor uses the second key validator to generate a second key authenticator, and the second key validator and the second key authenticator are stored in the storage device.
- 65. In a subscriber television system having a head-end and a receiver that receives a service instance from the head-end, the receiver, which is located remotely from the head-end at a subscriber's premises restricts access to the stored service instance, a method of accessing the restricted service instance, the method implemented at the receiver and comprising the steps of:
receiving the service instance; encrypting the service instance with a first key; storing the encrypted service instance in a storage device at the premises of the subscriber; encrypting the first key with a second key, thereby converting the first key to an encrypted first key, wherein the second key is a public key of a private key-public key pair belonging to the receiver; associating a key validator with the encrypted first key, wherein the key validator includes a time indicator that indicates whether the encrypted first key is valid; associating a key authenticator with the encrypted first key, wherein the key authenticator includes a digest signed by the private key and indicates whether the key validator is authentic; storing the encrypted first key, the key validator, and the key authenticator; determining whether the encrypted first key is valid using the key validator; responsive to the encrypted first key being valid, decrypting the encrypted first key with the private key of the receiver, thereby recovering the first key; responsive to the encrypted first key being valid, authenticating the key validator using the key authenticator; responsive to both the encrypted first key being valid and the key validator being authentic, decrypting the encrypted service instance.
- 66. The method of claim 65, prior to the step of encrypting the first key, further including the steps of:
duplicating the first key; encrypting the duplicate first key with a third key, wherein the third key is a public key provided to the receiver from the head-end of the subscriber television system; storing the encrypted duplicate first key; and responsive to the encrypted first key being invalid, transmitting the encrypted duplicate first key to the headend; and responsive to transmitting the encrypted duplicate first key, decrypting the encrypted service instance.
- 67. The method of claim 66, prior to the step of decrypting the service instance, further including the steps of:
receiving from the head-end a second key validator; validating the encrypted first key using the second key validator; and decrypting the encrypted first key, thereby recovering the first key.
- 68. The method of claim 66, prior to the step of decrypting the service instance, further including the steps of:
receiving from the head-end a second encrypted first key, wherein the second encrypted first key was generated by encrypting the first key with the public key of the receiver; and decrypting the second encrypted first key using the private key of the receiver.
- 69. The method of claim 65, wherein the digest of the key authenticator includes the HASH digest that is the output of a HASH function having as inputs at least a portion of the key validator and at least a portion of the first key.
- 70. The method of claim 69, wherein the step of authenticating further includes the steps of:
signing the HASH digest of the key authenticator with the public key of the receiver; generating a second HASH digest using at least a portion of the key validator and at least a portion of the recovered first key as inputs; and comparing the second HASH digest with the first HASH digest, wherein the key validator is authentic responsive to the first and second HASH digests being the same.
- 71. The method of claim 65, wherein the step of determining whether the first key is valid further includes the steps of:
determining a current time; and determining from the current time and the time indicator of the key validator whether the first encrypted key is valid.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is related to copending U.S. patent application Ser. No. 10/015,351, entitled “ENCRYPTING RECEIVED CONTENT,” which was filed on Dec. 11, 2001, and is hereby entirely incorporated herein by reference.