System and method for controlling features on a device
First Claim
1. A method operable with a feature controller of a device for provisioning features in the device, the feature controller performing:
- participating in a public key based key agreement with a remote server, by performing cryptographic operations using a connection between the feature controller and the remote server, to establish a shared secret with the remote server, wherein the shared secret is a shared key established in the key agreement;
storing the shared secret in a secure memory within the feature controller;
receiving, at the device, a message comprising an encrypted control instruction for controlling the device and a signature, the signature having been generated using the control instruction and information provided by the device, the information provided by the device comprising an identifier associated with the device derived from at least a portion of a public key of a static key pair;
decrypting the encrypted control instruction using the shared secret to obtain a decrypted control instruction;
storing the decrypted control instruction in the feature controller;
verifying the signature; and
in response to said verifying the signature, executing the control instruction.
4 Assignments
0 Petitions
Accused Products
Abstract
Trust between entities participating in an upgrade or enablement/disablement process is established and, to facilitate this remotely and securely, a highly tamper resistant point of trust in the system that is being produced is used. This point of trust enables a more efficient distribution system to be used. Through either a provisioning process or at later stages, i.e. subsequent to installation, manufacture, assembly, sale, etc.; the point of trust embodied as a feature controller on the device or system being modified is given a feature set (or updated feature set) that, when validated, is used to enable or disable entire features or to activate portions of the feature.
38 Citations
12 Claims
-
1. A method operable with a feature controller of a device for provisioning features in the device, the feature controller performing:
-
participating in a public key based key agreement with a remote server, by performing cryptographic operations using a connection between the feature controller and the remote server, to establish a shared secret with the remote server, wherein the shared secret is a shared key established in the key agreement; storing the shared secret in a secure memory within the feature controller; receiving, at the device, a message comprising an encrypted control instruction for controlling the device and a signature, the signature having been generated using the control instruction and information provided by the device, the information provided by the device comprising an identifier associated with the device derived from at least a portion of a public key of a static key pair; decrypting the encrypted control instruction using the shared secret to obtain a decrypted control instruction; storing the decrypted control instruction in the feature controller; verifying the signature; and in response to said verifying the signature, executing the control instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer readable medium comprising computer executable instructions for performing operations at a device for provisioning features in the device, the operations comprising:
-
participating in a public key based key agreement with a remote server, by performing cryptographic operations using a connection between a feature controller of a device and the remote server, to establish a shared secret with the remote server, wherein the shared secret is a shared key established in the key agreement; storing the shared secret in a secure memory within the feature controller; receiving, at the device, a message comprising an encrypted control instruction for controlling the device and a signature, the signature having been generated using the control instruction and information provided by the device, the information provided by the device comprising an identifier associated with the device derived from at least a portion of a public key of a static key pair; decrypting the encrypted control instruction using the shared secret to obtain a decrypted control instruction; storing the decrypted control instruction in the feature controller; verifying the signature; and in response to said verifying the signature, executing the control instruction.
-
-
12. A device comprising:
-
a processor; a feature controller for provisioning features of the device; a connection between the feature controller and a remote server; and at least one memory, the memory comprising computer executable instructions that when executed by the processor operate the device to; participate in a public key based key agreement with the remote server, by performing cryptographic operations using the connection between the feature controller and the remote server, to establish a shared secret with the remote server, wherein the shared secret is a shared key established in the key agreement; store the shared secret in a secure memory within the feature controller; receive, at the device, a message comprising an encrypted control instruction for controlling the device and a signature, the signature having been generated using the control instruction and information provided by the device, the information provided by the device comprising an identifier associated with the device derived from at least a portion of a public key of a static key pair; decrypt the encrypted control instruction using the shared secret to obtain a decrypted control instruction; store the decrypted control instruction in the feature controller; verify the signature; and in response to verifying the signature, execute the control instruction.
-
Specification