Information processing apparatus and method and recording medium
First Claim
1. An information processing apparatus which performs a process for executing a program, comprising:
- first key decoding means for decoding using a second key an encrypted version of a first key and producing a decoded first key;
second key decoding means for decoding using the decoded first key an encrypted version of a third key provided by a software developer and producing a decoded third key, wherein the program was encrypted by the software developer using the decoded third key into an encrypted version of the program;
program decoding means for decoding the encrypted version of the program using the decoded third key obtained from the second key decoding means, wherein the program is certified by a program certifying authority as being licensed to execute in a predetermined program execution environment by having the program certifying authority produce the second key and the encrypted version of the first key; and
executing means for executing a decoded program output from the program decoding means, wherein the third key is a common key used for encrypting the program according to a first encryption scheme, the second key is a publicized key corresponding to a secret key used for encrypting the first key according to a second encryption scheme, and the first key is a publicized key corresponding to a secret key used for encrypting the third key according to the second encryption scheme.
1 Assignment
0 Petitions
Accused Products
Abstract
In an information processing apparatus and method, an application program that was encrypted using secret key-A is supplied to a decoding section 82, and publicized key-B and an encrypted publicized key-A (corresponding to secret key-A) that was encrypted by using secret key-B corresponding to publicized key-B are supplied to a decoding section 84. The decoding section 84 decodes the encrypted publicized key-A by using publicized key-B and supplies a resulting publicized key-A to the decoding section 82. The decoding section 82 decodes the encrypted application program by using publicized key that is supplied from the decoding section 84 and supplies Java byte codes as a decoding result to a Java virtual machine 83. The Java virtual machine 83 interprets and executes the Java byte codes that are supplied from the decoding section 82. As a result, it becomes possible to allow only programs developed by a legitimate software developer to be executed in certain program execution environments.
43 Citations
4 Claims
-
1. An information processing apparatus which performs a process for executing a program, comprising:
-
first key decoding means for decoding using a second key an encrypted version of a first key and producing a decoded first key;
second key decoding means for decoding using the decoded first key an encrypted version of a third key provided by a software developer and producing a decoded third key, wherein the program was encrypted by the software developer using the decoded third key into an encrypted version of the program;
program decoding means for decoding the encrypted version of the program using the decoded third key obtained from the second key decoding means, wherein the program is certified by a program certifying authority as being licensed to execute in a predetermined program execution environment by having the program certifying authority produce the second key and the encrypted version of the first key; and
executing means for executing a decoded program output from the program decoding means, wherein the third key is a common key used for encrypting the program according to a first encryption scheme, the second key is a publicized key corresponding to a secret key used for encrypting the first key according to a second encryption scheme, and the first key is a publicized key corresponding to a secret key used for encrypting the third key according to the second encryption scheme. - View Dependent Claims (2)
-
-
3. An information processing method for performing a process for executing a program, comprising the steps of:
-
decoding using a second key an encrypted version of a first key to produce a decoded first key decoding using the decoded first key an encrypted version of a third key provided by a software developer and producing a decoded third key, wherein the program was encrypted by the software developer using the decoded third key into an encrypted version of the program;
decoding the encrypted version of the program using the decoded third key, wherein the program is certified by a program certifying authority as being licensed to execute in a predetermined program execution environment by having the program certifying authority produce the second key and the encrypted version of the first key; and
executing the decoded program, wherein the third key is a common key used for encrypting the program according to a first encryption scheme, the second key is a publicized key corresponding to a secret key used for encrypting the first key according to a second encryption scheme, and the first key is a publicized key corresponding to a secret key used for encrypting the third key according to the second encryption scheme.
-
-
4. A recording medium for selectively allowing a program to be executed, the recording medium comprising:
-
a first key decoding portion for decoding using a second key an encrypted version of a first key and producing a decoded first key;
a second key decoding portion for decoding using the decoded first key an encrypted version of a third key provided by a software developer and producing a decoded third key, wherein the program was encrypted by the software developer using the decoded third key into an encrypted version of the program;
a program decoding portion for decoding the encrypted version of the program using the decoded third key obtained from the second key decoding portion, wherein the program is certified by a program certifying authority as being licensed to execute in a predetermined program execution environment by having the program certifying authority produce the second key and the encrypted version of the first key; and
a program execution portion for executing the decoded program, wherein the third key is a common key used for encrypting the program according to a first encryption scheme, the second key is a publicized key corresponding to a secret key used for encrypting the first key according to a second encryption scheme, and the first key is a publicized key corresponding to a secret key used for encrypting the third key according to the second encryption scheme.
-
Specification