# US 7,613,915 B2 · Method for programming on-chip non-volatile memory in a secure processor, and a device so programmed

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

- Number: US 7,613,915 B2
- Document ID: US7613915B2
- Status: Granted
- Kind: B2
- Application number: 11/601,323
- Filed: 2006-11-16
- Published: 2008-05-15
- Granted: 2009-11-03
- Earliest claimed: 2006-11-09
- Assignees: BroadOn Communications Corp.
- Inventors: Pramila Srinivasan; John Princen
- Web page: https://patentgrep.com/patent/US7613915B2

## CPC

- G06F 21/72: in cryptographic circuits
- G06F 21/33: using certificates
- G06F 21/71: to assure secure computing or processing of information
- G06F 21/73: by creating or determining hardware identification, e.g. serial numbers
- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/3066: {involving algebraic varieties, e.g. elliptic or hyper-elliptic curves}
- H04L 9/3213: {using tickets or tokens, e.g. Kerberos (network architectures or network communication protocols for entities authentication using tickets in a packet data network H04L63/0807)}
- H04L 9/3263: {involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements (network architectures or network communication protocols for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L 2209/603: Digital right managament [DRM]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An improved secure programming technique involves reducing the size of bits programmed in on-chip secret non-volatile memory, at the same time enabling the typical secure applications supported by secure devices. A technique for secure programming involves de-coupling chip manufacture from the later process of connecting to ticket servers to obtain tickets. A method according to the technique may involve sending a (manufacturing) server signed certificate from the device prior to any communication to receive tickets. A device according to the technique may include chip-internal non-volatile memory to store the certificate along with the private key, in the manufacturing process.

## Claims

### Claim 1

A device comprising:
on-chip non-volatile memory including:
a device ID;
a private key;
an issuer ID;
a first signature;
a certificate generating module coupled to the non-volatile memory configured to:
read the device ID, the private key, the issuer ID, and the first signature from the non-volatile memory;
compute a public key as a function of the private key;
construct a device certificate as a function of the device ID, the issuer ID, the public key, and the first signature;
an interface coupled to the certificate generating module, wherein, in operation, a request for the device certificate is received on the interface, the certificate generating module constructs the device certificate, and the device certificate is sent via the interface in response to the request;
wherein the device is further configured to:
create a temporary key pair having two keys, a temporary public key and a temporary private key, using a number generator;
create an application certificate by signing data including the temporary public key, using a stored private key;
using the temporary private key to compute a second signature as a function of a random number;
wherein the second signature and the random number are sent via the interface in response to the request, along with the device certificate.

### Claim 2 (depends on 1)

The device of claim 1, wherein the certificate generating module is further configured to:
compute the public key as a function of the private key and common parameters;
construct the device certificate as a function of the device ID, the issuer ID, the public key, the first signature, and the common parameters.

### Claim 3 (depends on 1)

The device of claim 1, wherein, the device is further configured to compute the second signature as a function of a random number and the private key, wherein the interface receives the random number, and the second signature and the random number are sent via the interface in response to the request, along with the device certificate.

### Claim 4 (depends on 1)

The device of claim 1, wherein the application certificate is sent to a server, along with the second signature, the random number, and the device certificate.

### Claim 5 (depends on 1)

The device of claim 1, wherein, the device is further configured to create temporary key pairs for applications.

### Claim 6 (depends on 1)

The device of claim 1, wherein the on-chip non-volatile memory is read-only memory (ROM) and includes a secret seed random number.

### Claim 7 (depends on 1)

The device of claim 1, wherein the certificate generating module is further configured to compute the public key as a function of the private key using an elliptic curve based algorithm.

### Claim 8

A device, comprising:
a means for computing a public key as a function of a private key;
a means for constructing a device certificate as a function of a device ID, an issuer ID, the public key, and a first signature;
a means for receiving a request for the device certificate;
a means for creating a temporary key pair having two keys, a temporary public key and a temporary private key, using a number generator;
a means for creating an application certificate by signing data including the temporary public key, using a stored private key;
a means for using the temporary private key to compute a second signature as a function of a pseudo-random number;
a means for sending the second signature and the pseudo-random number in response to a request, along with the device certificate.

### Claim 9 (depends on 8)

The device of claim 8, further comprising a means for computing the public key as a function of the private key and common parameters.

### Claim 10 (depends on 8)

The device of claim 8, further comprising a means for constructing the device certificate as a function of the device ID, the issuer ID, the public key, the first signature, and common parameters.

### Claim 11 (depends on 8)

The device of claim 8, further comprising a means for computing a second signature as a function of the pseudo-random number and the private key.

### Claim 12 (depends on 8)

The device of claim 8, further comprising a means for receiving the pseudo-random number.

### Claim 13 (depends on 8)

The device of claim 8, further comprising a means for sending the second signature and the pseudo-random number in response to the request, along with the device certificate.

### Claim 14 (depends on 8)

The device of claim 8, further comprising a means for sending the application certificate to a server, along with the second signature, the pseudo-random number, and the device certificate.

### Claim 15 (depends on 8)

The device of claim 8, further comprising a means for creating temporary key pairs for applications.

### Claim 16 (depends on 8)

The device of claim 8, further comprising a means for computing the public key as a function of the private key using an elliptic curve based algorithm.

### Claim 17

A method, comprising:
using a computer processor:
computing a public key as a function of a private key;
constructing a device certificate as a function of a device ID, an issuer ID, the public key, and a first signature;
receiving a request for the device certificate;
creating a temporary key pair having two keys, a temporary public key and a temporary private key, using a number generator;
creating an application certificate by signing data including the temporary public key, using a stored private key;
using the temporary private key to compute a second signature as a function of a pseudo-random number;
sending the second signature and the pseudo-random number in response to a request, along with the device certificate.

### Claim 18 (depends on 17)

The method of claim 17, further comprising computing the public key as a function of the private key and common parameters.

### Claim 19 (depends on 17)

The method of claim 17, further comprising constructing the device certificate as a function of the device ID, the issuer ID, the public key, the first signature, and common parameters.

### Claim 20 (depends on 17)

The method of claim 17, further comprising computing a second signature as a function of the pseudo-random number and the private key.

### Claim 21 (depends on 17)

The method of claim 17, further comprising sending the second signature and the pseudo-random number in response to the request, along with the device certificate.

### Claim 22 (depends on 17)

The method of claim 17, further comprising sending the application certificate to a server, along with the second signature, the pseudo-random number, and the device certificate.

### Claim 23 (depends on 17)

The method of claim 17, further comprising creating temporary key pairs for applications.

### Claim 24 (depends on 17)

The method of claim 17, further comprising computing the public key as a function of the private key using an elliptic curve based algorithm.
