IP Library Granted Patent US 7,533,276
Granted Patent B2
US 7,533,276 · App. 10/569,414 · Granted May 12, 2009

Program execution device

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,533,276
App. No.
10/569,414
Granted
May 12, 2009
Kind
B2
Abstract

A program execution device capable of protecting a program against unauthorized analysis and alteration is provided. The program execution device includes an execution unit, a first protection unit, and a second protection unit. The execution unit executes a first program and a second program, and is connected with an external device that is capable of controlling the execution. The first protection unit disconnects the execution unit from the external device while the execution unit is executing the first program. The second protection unit protects the first program while the execution unit is executing the second program.

Claims (34)

1. A program execution device that executes (i) a first program which judges whether another program has been tampered with and (ii) a second program which is different from the first program, the program execution device comprising:

an execution unit operable to execute the first program and the second program; and

a disconnection unit operable to disconnect the execution unit from an external device while the first program is judging whether the second program has been tampered with, wherein

the first program performs tamper detection processing on the second program after the execution unit is disconnected from the external device by the disconnection unit, and

a part of the second program is executed only when no tampering is detected as a result of the tamper detection processing.

2. The program execution device of claim 1 , further comprising:

a storage unit operable to store encrypted information which is obtained by encrypting information necessary for executing the part of the second program, wherein

the first program (i) decrypts the encrypted information only when no tampering of the second program is detected as a result of the tamper detection processing, and (ii) outputs to the second program, the information which has been decrypted.

3. The program execution device of claim 2 ,

the part of the second program is encrypted,

the information necessary for the execution of the part of the second program is a program key used for decrypting the part of the second program which has been encrypted,

the encrypted information is an encrypted key generated by encrypting the program key,

the first program (i) decrypts the encrypted key only when no tampering of the second program is detected as a result of the tamper detection processing, and (ii) outputs to the second program, the program key which has been decrypted, and

the second program (i) decrypts the part of the second program using the program key when no tampering of the second program is detected as a result of the tamper detection processing, and (ii) executes the part of the second program which has been decrypted.

4. The program execution device of claim 3 ,

the encrypted key is unique to the program execution device.

5. The program execution device of claim 4 ,

the second program deletes the program key when decryption of the part of the second program is complete.

6. The program execution device of claim 5 , wherein

an interrupt control unit operable to switch between whether an interrupt execution of a program by the execution unit is permitted, wherein

the second program (i) instructs the interrupt control unit, before making a request to the first program for decrypting the encrypted key to disable the interrupt and (ii) instructs the interrupt control unit to permit the interrupt after deleting the program key.

7. The program execution device of claim 1 , further comprising:

a debugger interface operable to connect an external debug device with the program execution device, wherein

the disconnection unit disconnects the execution unit from the external device by disabling the debugger interface.

8. A computer-readable recording medium storing a computer program used for a program execution device that executes (i) a first program which judges whether another program has been tampered with and (ii) a second program which is different from the first program, the program execution device including an execution unit that executes the first program and the second program, the computer program comprising:

protecting a memory used for running the first program from being observed from outside while the execution unit is executing the first program;

disconnecting the execution unit from an external device while the first program is judging whether the second program has been tampered with;

performing tamper detection processing on the second program after the execution unit is disconnected from the external device by the disconnecting; and

executing a part of the second program only when no tampering is detected as a result of the tamper detection processing.

9. A program execution method for a program execution device that executes a first program which, judges whether another program has been tampered with and (ii) a second program which is different from the first program, the program execution device including an execution unit that executes the first program and the second program, the program execution method comprising:

protecting a memory used for running the first program from being observed from outside while the execution unit is executing the first program;

disconnecting the execution unit from an external device while the first program is judging whether the second program has been tampered with; and

performing tamper detection processing on the second program after the execution unit is disconnected from the external device by the disconnecting; and

executing a part of the second program only when no tampering is detected as a result of the tamper detection processing.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2023
From: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA
To: PANASONIC HOLDINGS CORPORATION
Reel/Frame 063237/0143 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2014
From: PANASONIC CORPORATION
To: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA
Reel/Frame 033182/0895 →
CHANGE OF NAME Recorded Nov 21, 2008
From: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
To: PANASONIC CORPORATION
Reel/Frame 021897/0588 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2006
From: MATSUSHIMA, HIDEKI; HIROTA, TERUTO; SHODA, YUKIE; HARADA, SHUNJI
To: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Reel/Frame 018577/0634 →