IP Library Granted Patent US 10,003,580
Granted Patent B2
US 10,003,580 · App. 13/615,311 · Granted Jun 19, 2018

System and method for controlling features on a device

Inventors: Michael Daskalopoulos (San Francisco, CA); Ashok Vadekar (Rockwood, CA); David Wong (Mississauga, CA); William Lattin (Los Altos, CA); Daniel O'Loughlin (Aptos, CA); David R. Sequino (Lansdowne, VA)
Assignee: Certicom Corp.
H04L63/0428G06F21/10G06F21/57H04L63/061H04L67/125G06F2221/0742G06F2221/2135
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,003,580
App. No.
13/615,311
Granted
Jun 19, 2018
Kind
B2
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.

Claims (37)

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.

2. The method of claim 1 , wherein the information provided by the device comprises an ephemeral public key provided to the remote server during the key agreement.

3. The method of claim 1 , wherein the key agreement comprises an elliptic curve based key agreement.

4. The method of claim 1 , wherein the key agreement comprises an elliptic curve Menezes-Qu-Vanstone (ECMQV) key agreement.

5. The method of claim 1 , wherein the identifier associated with the device is generated using a static key pair.

6. The method of claim 1 , wherein the control instruction comprises feature control programming.

7. The method of claim 1 , wherein the control instruction comprises at least one command.

8. The method of claim 1 , wherein the identifier is unique to the device.

9. The method of claim 1 , wherein the identifier is unique to a group comprising a plurality of devices.

10. The method of claim 1 , wherein the message is a concatenation of the encrypted control instruction and the signature.

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.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2019
From: CERTICOM CORP.
To: BLACKBERRY LIMITED
Reel/Frame 050610/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2013
From: DASKALOPOULOS, MICHAEL; VADEKAR, ASHOK; WONG, DAVID; LATTIN, WILLIAM; O'LOUGHLIN, DANIEL; SEQUINO, DAVID R.
To: CERTICOM CORP.
Reel/Frame 029597/0594 →
Continuity (3)
Continuation 12314610 · Dec 12, 2008
Provisional Application 60996976 · Dec 13, 2007
Related Publication 20130003970A1 · Jan 3, 2013