Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information
First Claim
1. A computer-implemented process for executing encrypted computer program logic while maintaining protection against copying of corresponding decrypted executable computer program logic, wherein the encrypted computer program logic is stored in association with first executable computer program logic, the process comprising the steps of:
- through an operating system of a computer, reading, loading and executing the first executable computer program logic as a first process having a protected memory area defined by the operating system;
the first process decrypting the encrypted computer program logic into second executable computer program logic and storing the second executable computer program logic in the protected memory area; and
the first process causing loading and execution of the decrypted second computer program logic in the protected memory area.
1 Assignment
0 Petitions
Accused Products
Abstract
Some of these problems with digital information protection systems may be overcome by providing a mechanism which allows a content provider to encrypt digital information without requiring either a hardware or platform manufacturer or a content consumer to provide support for the specific form of corresponding decryption. This mechanism can be provided in a manner which allows the digital information to be copied easily for back-up purposes and to be transferred easily for distribution, but which should not permit copying of the digital information in decrypted form. In particular, the encrypted digital information is stored as an executable computer program which includes a decryption program that decrypts the encrypted information to provide the desired digital information, upon successful completion of an authorization procedure by the user. In combination with other mechanisms that track distribution, enforce royalty payments and control access to decryption keys, the present invention provides an improved method for identifying and detecting sources of unauthorized copies. Suitable authorization procedures also enable the digital information to be distributed for a limited number of uses and/or users, thus enabling per-use fees to be charged for the digital information.
99 Citations
12 Claims
-
1. A computer-implemented process for executing encrypted computer program logic while maintaining protection against copying of corresponding decrypted executable computer program logic, wherein the encrypted computer program logic is stored in association with first executable computer program logic, the process comprising the steps of:
-
through an operating system of a computer, reading, loading and executing the first executable computer program logic as a first process having a protected memory area defined by the operating system;
the first process decrypting the encrypted computer program logic into second executable computer program logic and storing the second executable computer program logic in the protected memory area; and
the first process causing loading and execution of the decrypted second computer program logic in the protected memory area. - View Dependent Claims (2, 3)
-
-
4. A digital information product including a computer readable medium having digital information stored thereon, the digital information including computer program logic defining first executable computer program logic, wherein the first executable computer program logic when executed performs the following steps:
-
storing the encrypted computer program logic in a data file accessible through an operating system of a computer, wherein the data file also includes first executable computer program logic;
through the operating system, reading, loading and executing the first executable computer program logic from the data file as a first process having a protected memory area;
the first process decrypting the encrypted computer program logic into second executable computer program logic and storing the second executable computer program logic in the protected memory area; and
the first process causing loading and execution of the decrypted second computer program logic in the protected memory area.
-
-
5. A computer system comprising:
-
a processor for executing computer program logic;
a main memory operatively connected to the processor for storing digital information including executable computer program logic at memory locations addressed by the processor; and
an operating system defined by executable computer program logic stored in the memory and executed by the processor and having a command which when executed by the processor defines means for creating a process in response to a request specifying a process identifier and a memory location in the main memory, wherein the process identifier indicates the process making the request and the memory location stores executable computer program logic which when executed defines the process.
-
-
6. A computer system having an operating system, for decrypting digital information, comprising:
-
means for storing the encrypted computer program logic in a data file accessible through the operating system, wherein the data file also includes first executable computer program logic;
means, invokable through the operating system, for reading, loading and executing the first executable computer program logic from the data file as a first process having a protected memory area;
the first process defining means for decrypting the encrypted computer program logic into second executable computer program logic and storing the second executable computer program logic in the protected memory area; and
the first process defining means for causing loading and execution of the decrypted second computer program logic in the protected memory area. - View Dependent Claims (7, 8)
-
-
9. A digital information product, including a computer readable medium with computer readable information stored thereon, wherein the computer readable information comprises:
-
a first portion of executable computer program logic; and
a second portion of encrypted digital information; and
wherein the first portion of executable program logic, when executed, defines means, operative in response to requests for digital information, for accessing the second portion of encrypted digital information, for decrypting the encrypted digital information, and for outputting the decrypted digital information. - View Dependent Claims (10)
-
-
11. A computer program product including a self-decrypting encrypted executable computer program, comprising:
-
a computer readable medium having computer program logic stored thereon, wherein the computer program logic defines;
a first module, a second module, wherein the first module, when executed by a computer, defines means for loading the second module into memory of the computer, and a third module defining the encrypted executable computer program, wherein the second module, when executed by a computer, defines means for communicating with an operating system of the computer to receive requests for program code from the encrypted executable computer program from the third module, and for processing the requests to access and decrypt the encrypted executable computer program and for providing the decrypted executable code from the third module to the operating system.
-
-
12. A process for executing encrypted executable computer programs on a computer system having a processor, memory and operating system, comprising the steps of:
-
receiving computer program logic having a first module defining a start up routine, a second module, and a third module containing the encrypted executable computer program;
executing the first module of the received computer program logic using the processor, wherein the step of executing causes the second module to be loaded into the memory of the computer system, and generating requests from the operating system for data from the encrypted executable computer program which are received by the second module, and accessing and decrypting the encrypted executable computer program and returning the decrypted executable computer program to the operating system.
-
Specification