# US 11,310,227 B2 · Securely provisioning a target device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,310,227 B2
- Document ID: US11310227B2
- Status: Granted
- Kind: B2
- Application number: 16/804,555
- Filed: 2020-02-28
- Published: 2020-08-20
- Granted: 2022-04-19
- Earliest claimed: 2014-05-07
- Assignees: Cryptography Research, Inc.
- Applicants: Cryptography Research, Inc.
- Inventors: Michael Hamburg; Benjamin Che-Ming Jun; Paul C. Kocher; Daniel O'Loughlin; Denis Alexandrovich Pochuev
- Web page: https://patentgrep.com/patent/US11310227B2

## CPC

- H04L 63/0853: {using an additional device, e.g. smartcard, SIM or a different communication terminal (cryptographic mechanisms or cryptographic arrangements for entity authentication involving additional secure or trusted devices H04L9/3234)}
- G06F 21/335: {for accessing specific resources, e.g. using Kerberos tickets}
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/6209: {to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself}
- G06F 21/72: in cryptographic circuits
- G06F 21/73: by creating or determining hardware identification, e.g. serial numbers
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/062: {for key distribution, e.g. centrally by trusted party (cryptographic mechanisms or cryptographic arrangements for key distribution involving a central third party H04L9/0819)}
- H04L 67/60: Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70)
- H04W 12/0431: Key distribution or pre-distribution; Key agreement
- H04W 12/06: Authentication
- H04W 12/35: {Protecting application or service provisioning, e.g. securing SIM application provisioning}
- G06F 2221/2107: File encryption
- G06F 2221/2135: Metering
- G06F 2221/2145: Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
- G06F 2221/2149: Restricted operating environment
- G06F 2221/2153: Using hardware token as a secondary aspect
- H04L 63/123: {received data contents, e.g. message integrity}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

The embodiments described herein describe technologies for Module management, including Module creation and Module deployment to a target device in an operation phase of a manufacturing lifecycle of the target device in a cryptographic manager (CM) environment. One implementation includes a Root Authority (RA) device that receives a first command to create a Module and executes a Module Template to generate the Module in response to the first command. The RA device receives a second command to create a deployment authorization message. The Module and the deployment authorization message are deployed to an Appliance device. A set of instructions of the Module, when permitted by the deployment authorization message and executed by the Appliance device, results in a secure construction of a sequence of operations to securely provision a data asset to the target device.

## Claims

### Claim 1

A method comprising:
executing, by a tester device, a first application comprising a client cryptographic manager (CM) client library, the tester device being operatively coupled to a target device that is located at a first facility during an operation phase of a manufacturing lifecycle of the target device, wherein the tester device is an untrusted device;
invoking, by the tester device, a script to generate a request comprising an argument from the client library to securely provision a data asset to the target device;
sending, by the tester device, the request to an Appliance device at the first facility, the request causing the Appliance device to execute a Module at the Appliance device, wherein the Module is a second application that, when executed by the Appliance device, securely provisions the data asset to the target device by generating a Module sequence and sending the Module sequence to the tester device;
receiving, by the tester device, the Module sequence from the Appliance device; and
sending, by the tester device, the Module sequence to a cryptographic circuit that is integrated in the target device, the Module sequence, when executed by the cryptographic circuit, performs a sequence of operations that securely provisions the data asset of the Module to the target device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the data asset is a pre-computed data (PCD) asset specifically corresponding to the target device.

### Claim 3 (depends on 2)

The method of claim 2, wherein the PCD asset comprises at least one of a root-generated key, a serial number, or a High-bandwidth Digital Content Protection (HDCP) key.

### Claim 4 (depends on 1)

The method of claim 1, wherein the data asset is firmware.

### Claim 5 (depends on 1)

The method of claim 1, wherein the data asset is a pre-computed data (PCD) file, wherein the PCD file is encrypted so that only the Appliance device has access to the PCD file.

### Claim 6 (depends on 1)

The method of claim 1, wherein the Module sequence comprises data derived from tester information, pre-computed data (PCD), and a delegate signing block (DSB).

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
receiving, by the tester device, a signing key associated with the Appliance device; and
sending, by the tester device, the signing key to the cryptographic circuit to authenticate the Module sequence.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
requesting, by the tester device, a ticket in connection with the request to the Appliance device, wherein the ticket is data that enables enforcement of usage count limits and uniqueness of the data asset being securely provisioned to the target device.

### Claim 9 (depends on 1)

The method of claim 1, wherein the Module is delivered to the Appliance device over a network from a Service device at a second facility, different from the first facility.

### Claim 10

An Tester device operatively coupled to a target device that is located at a first facility during an operation phase of a manufacturing lifecycle of the target device, the Tester device comprising:
a memory to store a script and a first application comprising a cryptographic manager (CM) client library; and
a processor, operatively coupled with the memory, to execute the first application to:
invoke the script to generate a request comprising an argument from the client library to securely provision a data asset to the target device;
send the request to an Appliance device at the first facility, the request causing the Appliance device to execute a Module at the Appliance device, wherein the Module is a second application that, when executed by the Appliance device, securely provisions the data asset to the target device by generating a Module sequence and sending the Module sequence to the tester device;
receive the Module sequence from the Appliance device; and
send the Module sequence to a cryptographic circuit that is integrated in the target device, the Module sequence, when executed by the cryptographic circuit, performs a sequence of operations that securely provisions the data asset of the Module to the target device.

### Claim 11 (depends on 10)

The Tester device of claim 10, wherein the data asset is a pre-computed data (PCD) asset specifically corresponding to the target device.

### Claim 12 (depends on 11)

The Tester device of claim 11, wherein the PCD asset comprises at least one of a root-generated key, a serial number, or a High-bandwidth Digital Content Protection (HDCP) key.

### Claim 13 (depends on 10)

The Tester device of claim 10, wherein the data asset is firmware.

### Claim 14 (depends on 10)

The Tester device of claim 10, wherein the data asset is a pre-computed data (PCD) file, wherein the PCD file is encrypted so that only the Appliance device has access to the PCD file.

### Claim 15 (depends on 10)

The Tester device of claim 10, wherein the Module sequence comprises data derived from tester information, pre-computed data (PCD), and a delegate signing block (DSB).

### Claim 16 (depends on 10)

The Tester device of claim 10, wherein the processor is further to:
receive a signing key associated with the Appliance device; and
send the signing key to the cryptographic circuit to authenticate the Module sequence.

### Claim 17 (depends on 10)

The Tester device of claim 10, wherein the processor is further to:
request a ticket in connection with the request to the Appliance device, wherein the ticket is data that enables enforcement of usage count limits and uniqueness of the data asset being securely provisioned to the target device.

### Claim 18 (depends on 10)

The Tester device of claim 10, wherein the Module is delivered to the Appliance device over a network from a Service device at a second facility, different from the first facility.

### Claim 19

A non-transitory computer-readable storage medium storing instructions that, when executed by a processor of a Tester device, cause the processor to perform operations comprising:
executing a first application comprising a client cryptographic manager (CM) client library, the tester device being operatively coupled to a target device that is located at a first facility during an operation phase of a manufacturing lifecycle of the target device, wherein the tester device is an untrusted device;
invoking a script to generate a request comprising an argument from the client library to securely provision a data asset to the target device;
sending the request to an Appliance device at the first facility, the request causing the Appliance device to execute a Module at the Appliance device, wherein the Module is a second application that, when executed by the Appliance device, securely provisions the data asset to the target device by generating a Module sequence and sending the Module sequence to the tester device;
receiving the Module sequence from the Appliance device; and
sending, by the tester device, the Module sequence to a cryptographic circuit that is integrated in the target device, the Module sequence, when executed by the cryptographic circuit, performs a sequence of operations that securely provisions the data asset of the Module to the target device.

### Claim 20 (depends on 19)

The non-transitory computer-readable storage medium of claim 19, wherein the operations further comprise:
receiving a signing key associated with the Appliance device; and
sending the signing key to the cryptographic circuit to authenticate the Module sequence.
