Apparatuses and methods for decrypting encrypted data and locating the decrypted data in a memory space used for execution
First Claim
1. An encrypted-data decrypting apparatus that decrypts, for a purpose of execution on a computer system, a program that has been encrypted and stored, the encrypted-data decrypting apparatus comprising:
- a storing unit operable to store therein the program as a plurality of partial programs having been encrypted;
a memory location information reading unit operable to read, for each of the partial programs, memory location information indicating into which location area each partial program is to be located after being decrypted, the location area being included in a memory space used for the execution of the program;
a decrypting unit operable to sequentially read and decrypt the partial programs; and
a loading unit operable to locate each of the decrypted partial programs into each location area indicated by the memory location information, whereinthe memory location information indicates, with respect to at least one of the partial programs, at least part of the at least one partial program gets overwritten into a location area where one or more other partial programs have already been located before the at least one partial program gets decrypted.
0 Assignments
0 Petitions
Accused Products
Abstract
An encrypted-data decrypting apparatus that provides enhanced security protection for programs and data while they are in the processes of decryption to execution after having been encrypted. When a decrypted partial program needs to be loaded into the shared memory M, the controlling unit 11 loads it into an area indicated by the memory location information. According to the memory location information, a plurality of partial programs are sequentially loaded into an area so that one partial program gets overwritten by another; therefore, none of the partial programs exists in the memory for a long time, and thus there is less possibility of having the partial programs referred to illegitimately. In addition, since every time some data is decrypted, the decryption support program authenticating unit 13 confirms authenticity of the decryption support program P, it is possible to prevent having illegitimate references in which the decryption support program is abused.
-
Citations
26 Claims
-
1. An encrypted-data decrypting apparatus that decrypts, for a purpose of execution on a computer system, a program that has been encrypted and stored, the encrypted-data decrypting apparatus comprising:
-
a storing unit operable to store therein the program as a plurality of partial programs having been encrypted; a memory location information reading unit operable to read, for each of the partial programs, memory location information indicating into which location area each partial program is to be located after being decrypted, the location area being included in a memory space used for the execution of the program; a decrypting unit operable to sequentially read and decrypt the partial programs; and a loading unit operable to locate each of the decrypted partial programs into each location area indicated by the memory location information, wherein the memory location information indicates, with respect to at least one of the partial programs, at least part of the at least one partial program gets overwritten into a location area where one or more other partial programs have already been located before the at least one partial program gets decrypted. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An encrypted-data decrypting method for decrypting, for a purpose of execution on a computer system, a program that has been encrypted and stored, the encrypted-data decrypting method comprising:
-
a memory location information reading step of reading, for each of partial programs stored in a storing unit, memory location information indicating into which location area each partial program is to be located after being decrypted, the location area being included in a memory space used for the execution of the program; a decrypting step of sequentially reading and decrypting the partial programs; and a loading step of locating each of the decryptedpartial programs into each location area indicatedby the memory location information, wherein the memory location information indicates, with respect to at least one of the partial programs, at least part of the at least one partial program gets overwritten into a location area where one or more other partial programs have already been located before the at least one partial program gets decrypted.
-
-
17. A recording medium recording thereon a program that makes a computer operate as an encrypted-data decrypting apparatus that decrypts, for a purpose of execution on a computer system, a program that has been encrypted and stored, wherein
the encrypted-data decrypting apparatus includes: -
a memory location information reading unit operable to read, for each of partial programs stored in a storing unit, memory location information indicating into which location area each partial program is to be located after being decrypted, the location area being included in a memory space used for the execution of the program; a decrypting unit operable to sequentially read and decrypt the partial programs; and a loading unit operable to locate each of the decrypted partial programs into each location area indicated by the memory location information, wherein the memory location information indicates, with respect to at least one of the partial programs, at least part of the at least one partial program gets overwritten into a location area where one or more other partial programs have already been located before the at least one partial program gets decrypted. - View Dependent Claims (18, 19)
-
-
20. An encrypted-program generating apparatus that encrypts a program that is to be executed on a computer system, comprising:
-
a program dividing unit operable to divide the program in units of a plurality of partial programs to be located in a memory space used for the execution of the program and be executed; a program encrypting unit-operable to encrypt the program in units of the plurality of partial programs; and a memory location information generating unit operable to generate memory location information indicating, for each of the encrypted partial programs, into which location area each encrypted partial program is to be located after being decrypted, the location area being included in the memory space, wherein the memory location information indicates, with respect to at least one of the partial programs, at least part of the at least one partial program gets overwritten into a location area where one or more other partial programs have already been located before the at least one partial program gets decrypted. - View Dependent Claims (21, 22, 23, 24)
-
-
25. An encryption program generating method for encrypting a program that is to be executed on a computer system, comprising:
-
a program dividing step of dividing the program in units of a plurality of partial programs to be located in a memory space used for the execution of the program and be executed; a program encrypting step of encrypting the program in units of the plurality of partial programs; and a memory location information generating step of generating memory location information indicating, for each of the encrypted partial programs, into which location area each encrypted partial program is to be located after being decrypted, the location area being included in the memory space, wherein the memory location information indicates, with respect to at least one of the partial programs, at least part of the at least one partial program gets overwritten into a location area where one or more other partial programs have already been located before the at least one partial program gets decrypted.
-
-
26. A recording medium recording thereon a program that makes a computer operate as an encrypted-program generating apparatus that encrypts a program to be executed on a computer system, wherein
the encrypted-program generating apparatus includes: -
a program dividing unit operable to divide the program in units of a plurality of partial programs to be located in a memory space used for the execution of the program and be executed; a program encrypting unit operable to encrypt the program in units of the plurality of partial programs; and a memory location information generating unit operable to generate memory location information indicating, for each of the encrypted partial programs, into which location area each encrypted partial program is to be located after being decrypted, the location area being included in the memory space, wherein the memory location information indicates, with respect to at least one of the partial programs, at least part of the at least one partial program gets overwritten into a location area where one or more other partial programs have already been located before the at least one partial program gets decrypted.
-
Specification