IP Library Granted Patent US 7,698,562
Granted Patent B2
US 7,698,562 · App. 11/012,335 · Granted Apr 13, 2010

Authenticated program execution method

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,698,562
App. No.
11/012,335
Granted
Apr 13, 2010
Kind
B2
Abstract

According to a conventional technique, in the case where a program is stored into a non-volatile memory once and then activated, authentication of the program is performed immediately before such activation. However, calculations such as decryption of encrypted values are required before the activation of the program starts, which causes the problem that responsiveness is decreased in proportion to the time required for calculations. In order to solve this problem, authentication of a program is performed immediately before such program is stored, so that no authentication is performed or only a part of the authentication is performed to verify the validity of certificates at program activation time.

Claims (40)

1. An authenticated program execution method, comprising:

authenticating a program included in a transport stream and storing the authenticated program into a broadcast receiver according to information concerning storage of each data file of the program; and

executing the authenticated stored program,

wherein the authenticating and storing comprises executing authentication operations that include:

verifying whether two hash values are consistent, one hash value of the two hash values being calculated from each data file included in the program and an other hash value of the two hash values being stored in a hash file corresponding to said each data file;

verifying whether a certificate file included in the program is valid;

verifying whether a decrypted value and a hash value are consistent, the decrypted value being obtained by decrypting a signature value of a signature file included in the program using a public key of a leaf certificate included in the certificate file of the program, the hash value being calculated from a hash file located in a top directory of the program; and

authenticating the program and storing each data file of the authenticated program according to the information concerning storage without executing the authenticated program, in the case where all of the following are satisfied: the two hash values are verified to be consistent; the certificate file is verified to be valid; and the decrypted value and the hash value are verified to be consistent,

the executing the authenticated stored program comprises:

re-executing, when the stored program is executed, on the stored program, the verifying whether the certificate file included in the program is valid, among processes that include the verifying whether the two hash values are consistent, the verifying whether the certificate file included in the program is valid, and the verifying whether the decrypted value and the hash value are consistent, the processes having been performed on the stored program; and

re-authenticating the stored program and executing the re-authenticated stored program only in the case where the certificate file included in the stored program is verified to be valid, and

wherein the authenticating and storing the program includes executing all of the authentication operations without executing the program, and the executing the authenticated stored program includes executing at least one and less than all of the authentication operations.

2. The authenticated program execution method according to claim 1 , wherein the executing the authenticated stored program includes executing only the one of the authentication operations of verifying whether the certificate file included in the program is valid.

3. An authenticated program execution apparatus, comprising:

an authenticator and storer that authenticates a program included in a transport stream and stores the authenticated program according to information concerning storage of each data file of the program; and

an executor that executes the authenticated stored program,

wherein the authenticator and storer comprises:

a first verifier that verifies whether two hash values are consistent, one hash value of the two hash values being calculated from each data file included in the program and an other hash value of the two hash values being stored in a hash file corresponding to said each data file;

a second verifier that verifies whether a certificate file included in the program is valid;

a third verifier that verifies whether a decrypted value and a hash value are consistent, the decrypted value being obtained by decrypting a signature value of a signature file included in the program using a public key of a leaf certificate included in the certificate file of the program, the hash value being calculated from a hash file located in a top directory of the program; and

a second storer that authenticates the program and stores each data file of the authenticated program according to the information concerning storage without executing the authenticated program, in the case where all of the following are satisfied: the two hash values are verified to be consistent by the first verifier; the certificate file is verified to be valid by the second verifier; and the decrypted value and the hash value are verified to be consistent by the third verifier,

the executor:

re-executes, when the stored program is executed, on the stored program, the verification of whether the certificate file included in the program is valid which is performed by the second verifier, among processes that include the verification of whether the two hash values are consistent which is performed by the first verifier, the verification of whether the certificate file including in the program is valid which is performed by the second verifier, and the verification of whether the decrypted value and the hash value are consistent which is performed by the third verifier, the processes having been performed on the stored program; and

authenticates the stored program again and executes the authenticated stored program only in the case where the certificate file included in the stored program is verified to be valid,

wherein the first verifier, the second verifier, the third verifier, and the second storer each perform their respective functions when the authenticator and storer authenticates and stores the program, and

wherein at least one and less than all of the first verifier, the second verifier, the third verifier, and the second storer perform their respective functions when the executor executes the authenticated stored program.

4. The authenticated program execution apparatus according to claim 3 , wherein only the second verifier performs its respective function when the executor executes the authenticated stored program.

5. A recording medium on which a program is recorded, the program causing a computer to execute:

authenticating a program included in a transport stream and storing the authenticated program into a broadcast receiver according to information concerning storage of each data file of the program; and

executing the authenticated stored program,

wherein the authenticating and storing comprises executing authentication operations that include:

verifying whether two hash values are consistent, one of the hash values being calculated from each data file included in the program and the other hash value being stored in a hash file corresponding to said each data file;

verifying whether a certificate file included in the program is valid;

verifying whether a decrypted value and a hash value are consistent, the decrypted value being obtained by decrypting a signature value of a signature file included in the program using a public key of a leaf certificate included in the certificate file of the program, and the hash value being calculated from a hash file located in a top directory of the program; and

authenticating the program and storing each data file of the authenticated program according to the information concerning storage without executing the authenticated program, in the case where all of the following are satisfied: the two hash values are verified to be consistent; the certificate file is verified to be valid, and the decrypted value and the hash value are verified to be consistent,

executing the authenticated stored program comprises:

re-executing, when the stored program is executed, on the stored program, the verifying whether the certificate file included in the program is valid, among processes that include the verifying whether the two hash values are consistent, the verifying whether the certificate file included in the program is valid, and the verifying whether the decrypted value and the hash value are consistent, the processes having been performed on the stored program; and

re-authenticating the stored program and executing the re-authenticated stored program only in the case where the certificate file included in the stored program is verified to be valid, and

wherein the authenticating and storing the program includes executing all of the authentication operations without executing the program and the executing the authenticated stored program includes executing at least one and less than all of the authentication operations.

6. The recording medium according to claim 5 , wherein the executing the authenticated stored program includes executing only the one of the authentication operations of verifying whether the certificate file included in the program is valid.

Assignments (2)
CHANGE OF NAME Recorded Nov 24, 2008
From: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
To: PANASONIC CORPORATION
Reel/Frame 021897/0653 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2004
From: KUSUDO, TADAO; SHIOMI, TAKAKAZU
To: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Reel/Frame 016107/0363 →