IP Library › Granted Patent US 11,177,967
Granted Patent B2
US 11,177,967 · App. 16/271,659 · Granted Nov 16, 2021

Template based credential provisioning

Inventor: Massimiliano Pala (Longmont, CO)
Assignee: Cable Television Laboratories, Inc.
H04L9/3268H04L9/3242H04L9/3247H04L9/3263H04L41/0803H04L67/42H04L9/3265H04L2209/38
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 11,177,967
App. No.
16/271,659
Filed
Feb 8, 2019
Granted
Nov 16, 2021
Kind
B2
Art Unit
2446
USPC
713/156
Abstract

A certificate re-provisioning (CREP) protocol allows a client device to communicate with a provisioning server and be automatically provisioned, or re-provisioned, with needed credentials without the client device being aware of which credentials it needs. The CREP protocol uses a slot configuration template that defines which credentials are installed on the client device and the provisioning server responds with actions to provision the client device according to a client target configuration stored at the server.

Claims (102)

1. A certificate provisioning method, comprising:

receiving, within a provisioning server and from a client device, a request message including a client identifier and a slot configuration template defining a current configuration of credentials on the client device;

retrieving a client target configuration from a configuration database based upon the client identifier;

comparing each installed credential identifier of the slot configuration template with credentials defined within the client target configuration;

generating, based upon the differences comparison, an action item set to include at least one action item for provisioning the client device, wherein the generated action item removes ones of the installed credential identifiers not matching the credentials defined within the client target configuration and install ones of the credentials defined within the client target configuration not matching any installed credential identifier;

generating a response message including a first action item of the action item set; and

sending the response message to the client device.

2. The certificate provisioning method of claim 1 , further comprising validating a trust anchor list and of the request message.

3. The certificate provisioning method of claim 1 , further comprising validating a bootstrap credential identifier of the request message.

4. The certificate provisioning method of claim 1 , further comprising:

determining that a bootstrap credential of the request message is based upon public key cryptography; and

generating a response message authentication for the response message as a signature of a response header and a response body of the response message using a private key of a provisioning server key pair.

5. The certificate provisioning method of claim 1 , further comprising:

receiving, from the client device, an updated request message including a first action result indicating whether the first action item was performed successfully by the client device and including an updated slot configuration template defining the current configuration of the client device;

determining a next action of the action item set;

updating the response message to include the next action; and

sending the updated response message to the client device.

6. The certificate provisioning method of claim 1 , further comprising:

receiving, from the client device, an updated request message including a first action result indicating whether the first action item was performed by the client device and including an updated current configuration of the client device;

determining that the first action result indicates success;

determining there are no further actions in the action item set;

updating the response message to indicate no action; and

sending the updated response message to the client device.

7. A certificate provisioning method, comprising:

generating, within a client device, a request message including a client identifier and a slot configuration template defining a current configuration of credentials on the client device;

sending the request message to a provisioning server;

receiving, from the provisioning server, a response message including an action, wherein the action includes at least one credential identifier corresponding to certificates to be installed on the client device from a device manufacturer;

performing the action on the client device that includes generating a client target configuration to include the at least one credential identifier;

updating the request message to include a result of the action on the client device; and

sending the updated request message to the provisioning server.

8. The certificate provisioning method of claim 7 , further comprising generating a new key pair for one slot of the slot configuration template in response to the action.

9. The certificate provisioning method of claim 7 , further comprising deleting a key pair from one slot of the slot configuration template in response to the action.

10. The certificate provisioning method of claim 7 , further comprising installing a trust credential from the response message in response to the action.

11. The certificate provisioning method of claim 7 , further comprising retrieving a credential corresponding to the at least one credential identifier from a credential issuer.

12. A certificate provisioning system, comprising:

at least one processor:

a memory communicatively coupled with the at least one processor and storing machine readable instructions that, when executed by the processor, cause the processor to:

receive, within a provisioning server and from a client device, a request message including a client identifier and a slot configuration template defining a current configuration of credentials on the client device;

retrieve a client target configuration from a configuration database based upon the client identifier;

compare each installed credential identifier of the slot configuration template with credentials defined within the client target configuration;

generate, based upon the comparison, an action item set to include at least one action item for provisioning the client device, wherein the generated action item removes ones of the installed credential identifiers not matching the credentials defined within the client target configuration and install ones of the credentials defined within the client target configuration not matching any installed credential identifier;

generate a response message including a first action item of the action item set; and send the response message to the client device.

13. The certificate provisioning system of claim 12 , comprising further machine-readable instructions that, when executed by the processor, cause the processor to validate a trust anchor list and of the request message.

14. The certificate provisioning system of claim 12 , comprising further machine-readable instructions that, when executed by the processor, cause the processor to validate a bootstrap credential identifier of the request message.

15. The certificate provisioning system of claim 12 , comprising further machine- readable instructions that, when executed by the processor, cause the processor to:

determine that a bootstrap credential of the request message is based upon public key cryptography; and

generate a response message authentication for the response message as a signature of a response header and a response body of the response message using a private key of a provisioning server key pair.

16. The certificate provisioning system of claim 12 , comprising further machine-readable instructions that, when executed by the processor, cause the processor to:

receive, from the client device, an updated request message including a first action result indicating whether the first action item was performed successfully by the client device and including an updated slot configuration template defining the current configuration of the client device;

determine a next action of the action item set;

update the response message to include the next action; and

send the updated response message to the client device.

17. The certificate provisioning system of claim 12 , comprising further machine-readable instructions that, when executed by the processor, cause the processor to:

receive, from the client device, an updated request message including a first action result indicating whether the first action item was performed by the client device and including an updated current configuration of the client device;

determine that the first action result indicates success;

determine there are no further actions in the action item set;

update the response message to indicate no action; and

send the updated response message to the client device.

18. A non-transitory computer readable storage medium, storing a computer instruction, wherein the computer instruction, when executed by a computer, causes the computer to perform operations, comprising:

receiving, within a provisioning server and from a client device, a request message including a client identifier and a slot configuration template defining a current configuration of credentials on the client device;

retrieving a client target configuration from a configuration database based upon the client identifier;

comparing each installed credential identifier of the slot configuration template with credentials defined within the client target configuration;

generating, based upon the comparison, an action item set to include at least one action item for provisioning the client device, wherein the generated action item removes ones of the installed credential identifiers not matching the credentials defined within the client target configuration and install ones of the credentials defined within the client target configuration not matching any installed credential identifier;

generating a response message including a first action item of the action item set; and sending the response message to the client device.

19. The non-transitory computer readable storage medium of claim 18 , further comprising computer instruction that, when executed by the computer, causes the computer to perform operations including validating a trust anchor list and of the request message.

20. The non-transitory computer readable storage medium of claim 18 , further comprising computer instruction that, when executed by the computer, causes the computer to perform operations including validating a bootstrap credential identifier of the request message.

21. The non-transitory computer readable storage medium of claim 18 , further comprising computer instruction that, when executed by the computer, causes the computer to perform operations including:

determining that a bootstrap credential of the request message is based upon public key cryptography; and

generating a response message authentication for the response message as a signature of a response header and a response body of the response message using a private key of a provisioning server key pair.

22. The non-transitory computer readable storage medium of claim 18 , further comprising computer instruction that, when executed by the computer, causes the computer to perform operations including:

receiving, from the client device, an updated request message including a first action result indicating whether the first action item was performed successfully by the client device and including an updated slot configuration template defining the current configuration of the client device;

determining a next action of the action item set;

updating the response message to include the next action; and

sending the updated response message to the client device.

23. The non-transitory computer readable storage medium of claim 18 , further comprising computer instruction that, when executed by the computer, causes the computer to perform operations including:

receiving, from the client device, an updated request message including a first action result indicating whether the first action item was performed by the client device and including an updated current configuration of the client device;

determining that the first action result indicates success;

determining there are no further actions in the action item set;

updating the response message to indicate no action; and

sending the updated response message to the client device.

24. A certificate provisioning system, comprising:

at least one processor:

a memory communicatively coupled with the at least one processor and storing machine readable instructions that, when executed by the processor, cause the processor to:

generate, within a client device, a request message including a client identifier and a slot configuration template defining a current configuration of credentials on the client device;

send the request message to a provisioning server;

receive, from the provisioning server, a response message including an action, wherein the action includes at least one credential identifier corresponding to certificates to be installed on the client device from a device manufacturer;

perform the action on the client device that includes generating a client target configuration to include the at least one credential identifier;

update the request message to include a result of the action on the client device; and send the updated request message to the provisioning server.

25. The certificate provisioning system of claim 24 , comprising further machine-readable instructions that, when executed by the processor, cause the processor to generate a new key pair for one slot of the slot configuration template in response to the action.

26. The certificate provisioning system of claim 24 , comprising further machine-readable instructions that, when executed by the processor, cause the processor to delete a key pair from one slot of the slot configuration template in response to the action.

27. The certificate provisioning system of claim 24 , comprising further machine-readable instructions that, when executed by the processor, cause the processor to install a trust credential from the response message in response to the action.

28. The certificate provisioning system of claim 24 , comprising further machine-readable instructions that, when executed by the processor, cause the processor to retrieve a credential corresponding to the at least one credential identifier from a credential issuer.

29. A non-transitory computer readable storage medium, storing a computer instruction, wherein the computer instruction, when executed by a computer, causes the computer to perform operations, comprising:

generating, within a client device, a request message including a client identifier and a slot configuration template defining a current configuration of credentials on the client device;

sending the request message to a provisioning server;

receiving, from the provisioning server, a response message including an action, wherein the action includes at least one credential identifier corresponding to certificates to be installed on the client device from a device manufacturer;

performing the action on the client device that includes generating a client target configuration to include the at least one credential identifier;

updating the request message to include a result of the action on the client device; and sending the updated request message to the provisioning server.

30. The non-transitory computer readable storage medium of claim 29 , further comprising computer instruction that, when executed by the computer, causes the computer to perform operations including generating a new key pair for one slot of the slot configuration template in response to the action.

31. The non-transitory computer readable storage medium of claim 29 , further comprising computer instruction that, when executed by the computer, causes the computer to perform operations including deleting a key pair from one slot of the slot configuration template in response to the action.

32. The non-transitory computer readable storage medium of claim 29 , further comprising computer instruction that, when executed by the computer, causes the computer to perform operations including installing a trust credential from the response message in response to the action.

33. The non-transitory computer readable storage medium of claim 29 , further comprising computer instruction that, when executed by the computer, causes the computer to perform operations including retrieving a credential corresponding to the at least one credential identifier from a credential issuer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2019
From: PALA, MASSIMILIANO
To: CABLE TELEVISION LABORATORIES, INC.
Reel/Frame 048978/0618 →
Continuity (3)
Provisional Application 62671227 · May 14, 2018
Provisional Application 62628249 · Feb 8, 2018
Related Publication 20190245704A1 · Aug 8, 2019
Cited By (6)
US 12,301,685 US 12,380,341 US 12,430,651 US 12,555,116 US 12,657,291 US 12,665,892