# US 2004/0105548 A1 · Program update method and server

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

- Number: US 2004/0105548 A1
- Document ID: US20040105548A1
- Status: Published application
- Kind: A1
- Application number: 10/696,621
- Filed: 2003-10-30
- Published: 2004-06-03
- Earliest claimed: 2002-11-15
- Assignees: Matsushita Electric Industrial Co., Ltd.
- Inventors: Makoto Fujiwara; Yusuke Nemoto; Junichi Yasui; Takuji Maeda; Takayuki Ito; Yasushi Yamada; Shinji Inoue
- Web page: https://patentgrep.com/patent/US20040105548A1

## CPC

- G06F 21/123: {by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices}
- G06F 21/572: {Secure firmware programming, e.g. of basic input output system [BIOS]}
- G06F 21/72: in cryptographic circuits
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system including a secure LSI 1 establishes a communication path to/from a server 3 (UD1), and receives a common key-encrypted program generated by encryption with a common key and transmitted from the server 3 (UD6 and UD7). The received common key-encrypted program is decrypted to generate a raw program, and the raw program is re-encrypted with an inherent key to newly generate an inherent key-encrypted program, which is stored in an external memory.

## Claims

### Claim 1

A method for updating an inherent key-encrypted program in a system including an LSI device and an external memory, the inherent key-encrypted program being generated by encryption with an inherent key unique to the LSI device and being stored in the external memory, the method comprising:
a first step of receiving by the system a common key-encrypted program generated by encryption with a common key and transmitted from a server;
a second step of decrypting by the system the received common key-encrypted program to generate a raw program; and
a third step of re-encrypting by the system the raw program with the inherent key and storing the re-encrypted program in the external memory as a new inherent key-encrypted program.

### Claim 2 (depends on 1)

The program update method of claim 1, further comprising the steps of:
receiving by the system common key information transmitted from the server; and
generating by the system a raw common key using the received common key information,
wherein at the second step, the raw common key is used to decrypt the common key-encrypted program.

### Claim 3 (depends on 2)

The program update method of claim 2, wherein the common key information includes an encrypted common key generated by encrypting the raw common key with a raw first intermediate key, and an encrypted first intermediate key generated by encrypting the raw first intermediate key with a raw second intermediate key.

### Claim 4 (depends on 1)

The program update method of claim 1, wherein:
the LSI device includes an internal memory in which inherent key information is stored;
the system uses the inherent key information stored in the internal memory to generate a raw inherent key at boot-up of the system; and
at the third step, the raw inherent key is used for re-encrypting the raw program.

### Claim 5 (depends on 4)

The program update method of claim 4, wherein the inherent key information includes an encrypted inherent key generated by encrypting the raw inherent key with a raw third intermediate key and an encrypted second intermediate key generated by encrypting the raw third intermediate key with a raw fourth intermediate key.

### Claim 6 (depends on 4)

The program update method of claim 4, wherein the generated raw inherent key is stored in a register of the LSI device and is used for decrypting the inherent key-encrypted program to a raw program for execution of the inherent key-encrypted program.

### Claim 7 (depends on 1)

The program update method of claim 1, wherein:
the LSI device includes a boot ROM in which a boot program is stored;
the external memory includes an acquisition program for establishing data transmission between the LSI device and a server; and
the system executes reception of the common key-encrypted program based on the acquisition program stored in the external memory, and controls update processing performed after the reception of the common key-encrypted program based on the boot program stored in the boot ROM.

### Claim 8 (depends on 1)

The program update method of claim 1, further comprising the step of receiving a HASH value of the raw program transmitted from the server,
wherein at the second step, the received HASH value is used to perform a HASH verification on the decrypted raw program.

### Claim 9

A server which operates for program update in a system including an LSI device, the server executing:
a first step of receiving from the system an ID of the LSI device and an application ID which is identification information of an update object program;
a second step of referring a first table which indicates correspondences between application IDs and LSI IDs to determine whether or not the update object program is transmitted to the system; and
if it is determined at the second step that the update object program is transmitted to the system, a third step of transmitting to the system a common key-encrypted program generated by encrypting the update object program with a common key and common key information from which the common key is derived.

### Claim 10 (depends on 9)

The server of claim 9, executing:
a fourth step of receiving from the system a signal which requests application inherent information necessary for execution of the update object program; and
a fifth step of referring to a second table which indicates correspondence between a transmission history of the application inherent information and the LSI IDs to determine whether or not the application inherent information requested at the fourth step is transmitted.

### Claim 11 (depends on 9)

The server of claim 9, wherein the common key information includes an encrypted common key generated by encrypting a raw common key with a raw first intermediate key and an encrypted first intermediate key generated by encrypting the raw first intermediate key with a raw second intermediate key.
