IP Library Granted Patent US 7,546,468
Granted Patent B2
US 7,546,468 · App. 10/696,621 · Granted Jun 9, 2009

Program update method and server

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 7,546,468
App. No.
10/696,621
Granted
Jun 9, 2009
Kind
B2
Abstract

A system including a secure LSI 1 establishes a communication path to/from a server 3 (UD 1 ), and receives a common key-encrypted program generated by encryption with a common key and transmitted from the server 3 (UD 6 and UD 7 ). 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 (26)

1. A method for updating a program in a system including an LSI device and an external memory, the method comprising:

a step of transmitting by the system an ID, which is implemented before the program update, of the LSI device and an application ID which is identification information of an update object program to a server;

a step of determining by the server whether or not the update object program may be transmitted based on the transmitted ID and application ID, and transmitting by the server additional information of the update object program if it is determined that the update object program may be transmitted;

a step of determining by the system whether or not program update is possible based on the transmitted additional information, and requesting by the system that the server to transmit a common key-encrypted program generated by encryption with a common key if it is determined that program update is possible;

a step of receiving by the system the common key-encrypted program transmitted from the server;

a step of decrypting by the system the received common key-encrypted program to generate a raw program;

a step of re-encrypting by the system the raw program with an inherent key unique to the LSI device and storing the re-encrypted program in the external memory as a new inherent key-encrypted program;

a step of determining whether updating the program was successfully performed; and

a step of deleting old program from a secure memory and writing information about the update object program into the secure memory if it is determined that updating the program was successfully performed.

2. 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 decrypting step, the raw common key is used to decrypt the common key-encrypted program.

3. 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.

4. 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 re-encrypting step, the raw inherent key is used for re-encrypting the raw program.

5. 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.

6. 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.

7. 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.

8. 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 decrypting step, the received HASH value is used to perform a HASH verification on the decrypted raw program.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2020
From: PANASONIC CORPORATION
To: PANASONIC SEMICONDUCTOR SOLUTIONS CO., LTD.
Reel/Frame 052755/0917 →
CHANGE OF NAME Recorded Nov 21, 2008
From: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
To: PANASONIC CORPORATION
Reel/Frame 021897/0624 →